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

Javascript 如何使用Joi验证贴图对象(贴图键和贴图值),javascript,joi,Javascript,Joi,例如,有以下地图: keys = type string, 5 characters long values = type number 例如: test = { "abcde": 1 "12345": 2 "ddddd": 3 } 如何编写Joi方案来验证键的类型为5个字符的字符串,值的类型为number看起来您试图验证具有未知键的对象,但您知道该对象必须匹配的常规模式。您可以使用Joi的方法实现这一点: object.pattern(模式,模式) 为与模式匹配的未知键指

例如,有以下地图:

keys = type string, 5 characters long
values = type number
例如:

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

如何编写Joi方案来验证键的类型为5个字符的字符串,值的类型为number

看起来您试图验证具有未知键的对象,但您知道该对象必须匹配的常规模式。您可以使用Joi的方法实现这一点:

object.pattern(模式,模式)

为与模式匹配的未知键指定验证规则,其中:

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

架构
-架构对象匹配键必须根据进行验证

以你为例:

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

到目前为止,您在Joi中尝试了什么?@AndrewL64我没有找到实现它的方法,最后的方法是使用Joi.object().keys({}),但我的示例中的键不是预定义的,它们本身需要验证