问题描述
我必须根据一些条件进行验证:
如果键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',}).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/
解决方法
当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();
}