例如,有以下地图:
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/