繁体   English   中英

如何在 Joi 中使用两个最大条件验证 object?

[英]How to validate object with two max condition on a value in Joi?

我想使用Joi验证这个 object 条件:
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条件,因此无效的 object 也被视为有效。 应用所有条件的正确模式应该是什么?

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)
})

堆栈闪电战

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM