Как использовать математическую операцию с Joi.ref () для проверки объекта с помощью Joi? - PullRequest
0 голосов
/ 06 ноября 2019

Я хочу проверить объект с помощью Joi, который предусматривает использование Joi.ref () с операцией умножения.

var object = {
    a: 5,
    b: 6
}

// this is wrong as Joi.ref('a')*2 is now allowed in max()
var schema = Joi.object({
    a: Joi.number().integer(),
    b: Joi.number().integer().min(1).max(Joi.ref('a')*2)
})

Joi.ref('a')*2 не допускается. Так как же я могу проверить объект так, чтобы b<=2*a?

1 Ответ

1 голос
/ 06 ноября 2019

Использование adjust опция

var schema = Joi.object({
    a: Joi.number().integer(),
    b: Joi.number().integer().min(1).max(Joi.ref('a', {
      adjust: (value) => value * 2
    }))
})

stackblitz

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...