如何使用Joi验证地图对象(地图键和地图值)

时间:2019-02-01 16:56:43

标签: javascript joi

例如,有以下地图:

keys = type string, 5 characters long
values = type number

示例:

test = {
   "abcde": 1
   "12345": 2
   "ddddd": 3
}

如何写淳佳方案,用于验证密钥都是字符串类型与5个字符和值是类型号

1 个答案:

答案 0 :(得分:0)

您似乎正在尝试使用未知密钥来验证对象,但是您知道对象必须匹配哪种常规模式。您可以使用Joi的.pattern()方法来实现此目的:

  

object.pattern(pattern, schema)

     

为匹配模式的未知密钥指定验证规则,

     

pattern-一种模式,可以是正则表达式,也可以是joi模式,将针对未知的键名进行测试。

     

schema-架构对象的匹配键必须进行验证。

所以对于您的实例:

Joi.object().pattern(Joi.string().length(5), Joi.number());