验证数组何时包含特定值

  • 本文关键字:数组 何时包 验证 joi
  • 更新时间 :
  • 英文 :


我想使用类似的规则,但我在填写 Joi 验证库的 when 条件的"is"规则时遇到了一些问题。

let schema = {
    field1: Joi.array().items(Joi.string().valid('v1', 'v2')),
    field2: Joi.when("field1", {
        is: // if field1 contains at least 'v1',
        then: Joi.object().keys(...),
        otherwise: Joi.forbidden()
    }
}

您可以通过列出所有允许的类型来使用array.items。如果给定类型.required()则数组中必须有一个匹配项:乔伊接口参考

let schema = {
    field1: Joi.array().items(Joi.string().valid('v1', 'v2')),
    field2: Joi.when("field1", {
        is: Joi.array().items(Joi.string().valid('v1').required(), Joi.string().valid('v2'))
        then: Joi.object().keys(...),
        otherwise: Joi.forbidden()
    }
}

最新更新