如何在Joi中的值上验证具有两个最大条件的对象?

我想使用Joi在以下条件下验证该对象:
b应该大于2。
b不能大于a
b不能大于600

// valid object
var object = {
    a: 5,b: 3
}

// invalid object because b > a
var object = {
    a: 5,b: 6
}

我很想建立Joi模式

var schema = Joi.object({
    a: Joi.number().integer(),b: Joi.number().integer().min(2).max(Joi.ref('a')).max(600)
})

此架构正在忽略b<=a条件,因此无效对象也被视为有效对象。适用于所有条件的正确方案应该是什么?

endy1009 回答:如何在Joi中的值上验证具有两个最大条件的对象?

var schema = Joi.object({
a: Joi.number().integer(),b: Joi.number().integer().min(2).max(Joi.ref('a')).less(601)
})
,

使用less(),该值必须小于限制或参考值。

var schema = Joi.object({
    a: Joi.number().integer(),b: Joi.number().integer().less(Joi.ref('a')).min(2).max(600)
})

stackblitz

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

大家都在问