例如,有以下地图:

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


例:

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


如何编写用于验证密钥的Joi Scheme是具有5个字符的字符串类型,而值是number类型

最佳答案

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


  object.pattern(pattern, schema)
  
  为匹配模式的未知密钥指定验证规则,其中:
  
  pattern-一种模式,可以是正则表达式,也可以是joi模式,将针对未知的键名进行测试。
  
  schema-必须验证架构对象匹配键。


因此,对于您的实例:

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

关于javascript - 如何使用Joi验证 map 对象( map 键和 map 值),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54483904/

10-12 04:58