10

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

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

1 回答 1

14

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

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

因此,满足您需求的规则是:

Joi.object().pattern(/^/, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.boolean()))
于 2017-03-28T07:46:55.707 回答