Joi 多重条件 当在同一个键上时

问题描述

我有一个用例,如果我在我的密钥 X 中获取数据,那么我的密钥 Y 是必需的,如果我的密钥 X 为空或未定义,那么密钥 Y 将不会被验证

这是当前的片段

Y: joi.when('W',{
is: PartyTypeCode.EndClient,then: joi.alternatives().conditional('X',{is: joi.number(),then: joi.string().required(),otherwise: joi.any().strip()}),otherwise: joi.any().strip()

})

我试图通过阅读一些示例来修改它,但它对我不起作用

Y: joi.when('W',{
    is: PartyTypeCode.EndClient,otherwise: joi.any().strip()
  }).when('W',{is: !joi.exist(),then: joi.string().allow(null),otherwise: joi.any().strip()
  })

总结:如果X存在,则需要Y,如果X为空或未定义键,则不需要Y

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)