如何使用 Joi.ref() 的数学运算来使用 Joi 验证对象?
How to use maths operation with Joi.ref() for validating object using 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
?
使用adjust
选项
var schema = Joi.object({
a: Joi.number().integer(),
b: Joi.number().integer().min(1).max(Joi.ref('a', {
adjust: (value) => value * 2
}))
})
我想使用 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
?
使用adjust
选项
var schema = Joi.object({
a: Joi.number().integer(),
b: Joi.number().integer().min(1).max(Joi.ref('a', {
adjust: (value) => value * 2
}))
})