当密码非空时表示需要其他两个字段。在某些情况下,密码将存在,但是将为空,在这种情况下,不需要其他两个字段。我尝试使用exists()和!empty(),但它不起作用。
password : joi.string().trim().optional().description('Password'),
device_type : joi.when('password', {is: (joi.exist() && !joi.empty()), then: joi.number().required().valid(validation.user.device_type.allowOnly).description('Device type')}),
device_token : joi.when('password', {is: joi.exist(), then: joi.string().trim().required().description('Device token')})
但这不会起作用
答案 0 :(得分:2)
您的问题分为两部分:
将它们放在一起并简化您的架构以便清晰(请注意,默认情况下所有键都是可选的):
condor_submit