У меня версия 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"
}