Джой проверки с двумя предложениями когда - PullRequest
0 голосов
/ 06 марта 2020

У меня версия joi 6.10.1, но я также пробовал использовать 14.0.0.

У меня есть три поля, которые зависят друг от друга. Немногие из них могут быть нулевыми. И есть проблема с 2 когда предложения, проверка работает только для первого. Может я что то не так делаю? Когда я изменяю порядок когда - правило проверки также будет изменено. Выглядит как второй, когда всегда игнорируется.

        a:  utils.joi.number().integer().allow(null),
        b:  utils.joi.number().integer().allow(null),
        c:  utils.joi.number().integer().allow(null)

                   .when('a', {
                     is: null,
                     then:      utils.joi.number().integer().max(999),
                     otherwise: utils.joi.number().integer().max(utils.joi.ref('a'))
                   })
                   .when('b', {
                     is: null,
                     then:      utils.joi.number().integer().min(0),
                     otherwise: utils.joi.number().integer().min(utils.joi.ref('b'))
                   })

Примеры:

Validation works:
test {
   a: "4",
   b: "10",
   c: "11"
}

Does not:
test {
   a: "4",
   b: "10",
   c: "3"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...