Использование версии 6.5
Моя проблема в том, что у меня есть объект запроса, который должен содержать один атрибут и должен содержать один и только один другой атрибут из списка атрибутов ИЛИ ни один из указанных атрибутов.Я покопался и не смог найти решение этой проблемы.
Возможные допустимые запросы:
{ 'query': {...}, 'limit': 1 }
{ 'query': {...}, 'count': true }
{ 'query': {...}, 'max': 'my_string' }
Недопустимый запрос:
{ 'query': {...}, 'limit': 1, 'count': true }
или
{ 'query': {...}, 'max': 'my_string', limit: 1 }
и т. Д.
Лучший объект для проверки ajv, который я придумал, следующий:
{
"type": "object",
"required": ["query"],
"maxProperties": 2,
"properties": {
"query": {
"type": "object"
},
"limit": {
"type": "integer"
},
"count": {
"type": "boolean"
},
"max": {
"type": "string"
}
}
}
Но я знаю, что это не такмасштаб по мере роста нашего приложения.Мне было интересно, если есть способ указать, что объект требует "запрос" и ОДИН или НЕТ "предел", "количество", "макс.