【问题标题】:Is there a way to validate dynamic key names in a Joi schema?有没有办法验证 Joi 模式中的动态键名?
【发布时间】:2017-08-20 10:10:45
【问题描述】:

有没有一种方法可以使用Joi 验证这样的值,以便我可以验证它是一个具有零个或多个键(任何名称)的对象,并且每个键的值都是字符串、数字或布尔值?

{
  dynamicallyNamedKey1: 'some value',
  dynamicallyNamedKey2: 4
}

【问题讨论】:

    标签: javascript validation joi


    【解决方案1】:

    您将要使用Joiobject().pattern() 方法。它专门用于验证具有未知键的对象。

    要匹配单个键上的一个或多个数据类型,您需要alternatives().try()(或简单地传递Joi 类型的数组)。

    所以符合您需求的规则是:

    Joi.object().pattern(/^/, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.boolean()))
    

    【讨论】:

    • 请注意,简单数组[]Joi.alternatives() 的快捷方式。所以你可以这样做:Joi.object().pattern(/^/, [Joi.string(), Joi.number()])
    猜你喜欢
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    相关资源
    最近更新 更多