У меня есть следующая схема:
const LIST_EVENTS = {
"id": "/listEvents",
"type": "object",
"properties": {
"filter": {
"$ref": "/MarketFilter",
"required": true
},
"locale": {
"type": "string"
}
}
}
Из отладки я вижу, что объект, отправляемый на проверку:
{
marketFilter: {
eventTypeIds: [ '1' ],
marketStartTime: {
from: '2018-12-15T00:00:00+00:00',
to: '2018-12-15T23:59:59+00:00'
}
}
}
marketFilter
не соответствуетимя filter
в схеме.Насколько я понимаю, поскольку это обязательное свойство, оно должно быть помечено в массиве errors
результата проверки, но это не так.Это мой результат проверки:
ValidatorResult {
instance:
{ marketFilter: { eventTypeIds: [Array], marketStartTime: [Object] } },
schema:
{ id: '/listEvents',
type: 'object',
properties: { filter: [Object], locale: [Object] } },
propertyPath: 'instance',
errors: [],
throwError: undefined,
disableFormat: false }
Я подумал, что вполне возможно, что он не возражал против соглашения об именах, поэтому я полностью удалил свойство, и все же ошибка не регистрируется, так как это результат проверки:
ValidatorResult {
instance: {},
schema:
{ id: '/listEvents',
type: 'object',
properties: { filter: [Object], locale: [Object] } },
propertyPath: 'instance',
errors: [],
throwError: undefined,
disableFormat: false }
У меня есть много схем, и все они добавляются с помощью .addSchema
метода