Требуется помощь для определения схемы определения чванства, используя allOf и дополнительные свойства: false
Вот моя схема JSON
"deliveryContact": {
"allOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"maxLength": 1024
},
"phone": {
"type": "string",
"maxLength": 24
}
}
},
{
"$ref": "#/definitions/address"
}
]
},
"address": {
"type": "object",
"additionalProperties": false,
"properties": {
"address": {
"type": "string",
"maxLength": 1024
},
"postalCode": {
"type": "string",
"maxLength": 12
},
"city": {
"type": "string",
"maxLength": 512
},
"state": {
"type": "string",
"maxLength": 512
}
}
},
Пример данных
delivery: {
address: 'my address',
postalCode: 'my postalCode',
city: 'my city',
state: 'my state',
name: 'my name',
phone: 'my phone'
},
Я использую AJV 6.10.0 для проверки своих данных, но мне кажется, что у меня неверное определение схемы.
С опциями Ajv:
ajv = require('ajv')({
allErrors: true,
verbose: true,
removeAdditional: false,
});
На самом деле у меня есть 6 ошибок, которые предупреждают о дополнительных свойствах для каждого свойства
При проверке первого объекта в allOf (имя и телефон) при проверке обнаружена ошибка (адрес, почтовый индекс, город и штат)
Если я удаляю дополнительные свойства первого объекта allOf (имя, телефон), во время проверки схемы адреса, проверка обнаружила ошибку (имя и телефон)
Как мне решить определение схемы