如何使用 Joi 验证地图对象(地图键和地图值)
How to use Joi to validate map object (map keys and map values)
例如有如下地图:
keys = type string, 5 characters long
values = type number
示例:
test = {
"abcde": 1
"12345": 2
"ddddd": 3
}
如何编写 Joi Scheme 来验证键是 5 个字符的字符串类型,值是数字类型
您似乎在尝试验证具有未知键的对象,但您知道该对象必须匹配的一般模式。您可以使用 Joi 的 .pattern()
方法实现此目的:
object.pattern(pattern, schema)
Specify validation rules for unknown keys matching a pattern where:
pattern
- a pattern that can be either a regular expression or a joi schema that will be tested against the unknown key names.
schema
- the schema object matching keys must validate against.
所以对于你的例子:
Joi.object().pattern(Joi.string().length(5), Joi.number());
例如有如下地图:
keys = type string, 5 characters long
values = type number
示例:
test = {
"abcde": 1
"12345": 2
"ddddd": 3
}
如何编写 Joi Scheme 来验证键是 5 个字符的字符串类型,值是数字类型
您似乎在尝试验证具有未知键的对象,但您知道该对象必须匹配的一般模式。您可以使用 Joi 的 .pattern()
方法实现此目的:
object.pattern(pattern, schema)
Specify validation rules for unknown keys matching a pattern where:
pattern
- a pattern that can be either a regular expression or a joi schema that will be tested against the unknown key names.
schema
- the schema object matching keys must validate against.
所以对于你的例子:
Joi.object().pattern(Joi.string().length(5), Joi.number());