问题描述
{
a: joi.boolean(),b: joi.object(),c: joi.object()
}
根据字段 a = false 的值,我希望字段 b 或 c 存在。如果 a 为假,我想要字段 b 和 c 的异或条件。
我尝试使用when,但找不到完美的解决方案。
解决方法
我可以为这个问题找到一种可能的解决方案。就是这样。
Joi.object({
a: Joi.boolean(),b: Joi.object(),c: Joi.object()
})
.required()
.when( Joi.object({a:false}).unknown(),{
then: Joi.object().or('a','b'),otherwise: Joi.object().oxor('a','b')
})
这对我有用。
,{
a: Joi.boolean(),b: Joi.object().when('a',{
is: false,then: Joi.object().required()
otherwise: Joi.object()
}),c: Joi.object().when('a',}
我认为您正在寻找这样的东西。 Joi.when()