【发布时间】:2017-08-05 12:17:02
【问题描述】:
如何使用 Joi 验证替换字段是否包含零个或多个键/值对?并且每个键都是一个字符串,每个值都是一个字符串、数字或布尔值?
"substitutions": {
"somekey": "someval",
"somekey": "someval"
}
【问题讨论】:
标签: joi
如何使用 Joi 验证替换字段是否包含零个或多个键/值对?并且每个键都是一个字符串,每个值都是一个字符串、数字或布尔值?
"substitutions": {
"somekey": "someval",
"somekey": "someval"
}
【问题讨论】:
标签: joi
你可以使用Joi.object().pattern():
{
substitutions: Joi.object().pattern(/.*/, [Joi.string(), Joi.number(), Joi.boolean()])
}
这适用于以下负载:
{
substitutions: {
blah : 'string',
test123: 123,
example: true,
}
}
【讨论】:
要让一个键匹配多种类型,需要使用Joi.alternatives()。
您的架构如下所示:
const schema = {
substitutions: Joi.object().keys({
somekey: Joi.alternatives().try(Joi.string(), Joi.number(), Joi.boolean())
})
};
【讨论】: