【问题标题】:Joi: required oneOf field to be trueJoi:要求 oneOf 字段为真
【发布时间】:2021-09-28 00:19:41
【问题描述】:

我正在使用 Joi 作为我的验证模式。

我希望这些值中至少有一个是正确的。

a=true b=true //valid
a=true b=true //valid
a=false b=true //valid
a=false b=false //invalid

我试过这个: 但我得到一个依赖错误..

Joi.object({
  a: Joi.boolean().when('b', {
    is: true,
    then: Joi.optional(),
    otherwise: Joi.required(),
  },
  b: Joi.boolean().when('a', {
    is: true,
    then: Joi.optional(),
    otherwise: Joi.required(),
  },
});

谢谢!

【问题讨论】:

    标签: reactjs react-hook-form joi


    【解决方案1】:

    最近,以下代码解决了我在类似情况下的问题:

    Joi.object({
      a: Joi.bool().required(),
      b: Joi.bool().when('a', {
        is: false,
        then: Joi.invalid(false),
      }).required(),
    });
    

    您可能想以不同的方式使用required() 选项。

    【讨论】:

      猜你喜欢
      • 2018-06-26
      • 2015-05-06
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 2016-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多