[英]Joi Validation || In an array of object, at least one object should contain a particular value of a key
我需要以下 object 数组的架构:
option = [
{
answer: '',
isTrue: false
},
{
answer: '',
isTrue: true
},
]
到目前为止,我写了以下架构:
Joi.array().items(Joi.object({
answer: Joi.string().required(),
isTrue: Joi.boolean().required()
}).unknown()).min(2).required()
问题:我需要验证至少一个 object 应该有“isTrue”键的值为“true”(布尔值)
let optionsValidation = Joi.object().keys({
answer: Joi.string().required(),
isTrue: Joi.boolean().required()
});
//replace with your field name
options: Joi.array()
.items(optionsValidation)
.has(
Joi.object().keys({
answer: Joi.string().required(),
isTrue: Joi.boolean().invalid(false).required();
}),
)
也许您需要更改 smth 以适应您的代码,但这应该可行。 它确保数组中至少有一个 object 应该有一个答案并且应该是真的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.