我必须根据一些条件进行验证:
如果键setIcon(urlToNewImage)
的值为pay_method
,则 其中一个键 upi
或services
必须存在。
如果键combos
的值为pay_method
,则 这些键均不存在 。
我尝试将pay_later
和.when
以及.xor
和.when
组合在一起。
但是,我无法达到预期的效果。
.oxor
要验证的数据:
Joi.object({
pay_method: Joi.string().valid('upi', 'later').required(),
combos: Joi.string().when('pay_method', {
is: 'later',
then: Joi.forbidden(),
}),
services: Joi.string().when('pay_method', {
is: 'later',
then: Joi.forbidden(),
}),
}).oxor('combos', 'services')
.messages({ 'object.oxor': 'Both Combo and Service can not be ordered together!' })
根据文档:
{
pay_method: 'later',
combos: 'asdfasf',
}
:键名不能一起出现,但必须是其中之一
xor
:键名不能一起出现,但不需要。
请在此处测试以上详细信息https://joi.dev/tester/
答案 0 :(得分:0)
当pay_method为'upi'时,备选方案中的前两个选择是使用连击还是使用服务。当pay_method为“以后”时,最后一个不允许组合和服务同时存在。
class A
{
void Afunction()
{
B::Afunction(); // This is not valid as A::Afunction() does not inherit from B::Afunction()
}
};
class B : public A
{
void Afunction();
}