Используя Joi и Node, заполняйте одно из двух полей, но не позволяйте присутствовать обоим - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть 2 поля в объекте joi, давайте назовем их «a» и «b», где «a» - это объект, а «b» - это массив объектов. Я хотел бы потребовать 1 из 2 полей, но не разрешить оба, есть ли способ сделать это с joi?

1 Ответ

1 голос
/ 16 апреля 2020

Вы должны использовать xor

Определяет исключительную связь между набором ключей, где требуется один из них, но не одновременно

https://github.com/hapijs/joi/blob/master/API.md#objectxorpeers -опций

Joi.object().keys({
    a: Joi.object(),
    b: Joi.array()
}).xor('a', 'b')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...