如何在Joi.ref()中使用数学运算来使用Joi验证对象?

我想使用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这样的对象?

true430 回答:如何在Joi.ref()中使用数学运算来使用Joi验证对象?

使用adjust选项

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

stackblitz

本文链接:https://www.f2er.com/3152535.html

大家都在问