我如何使用Joi验证替换字段是否具有零个或多个键/值对?并且每个键都是一个字符串,每个值都是一个字符串,数字或bool?
"substitutions": {
"somekey": "someval",
"somekey": "someval"
}
答案 0 :(得分:6)
您可以使用Joi.object().pattern()
:
{
substitutions: Joi.object().pattern(/.*/, [Joi.string(), Joi.number(), Joi.boolean()])
}
这适用于以下有效负载:
{
substitutions: {
blah : 'string',
test123: 123,
example: true,
}
}
答案 1 :(得分:0)
要允许某个键匹配多种类型,您需要使用Joi.alternatives()。
您的架构看起来像:
const schema = {
substitutions: Joi.object().keys({
somekey: Joi.alternatives().try(Joi.string(), Joi.number(), Joi.boolean())
})
};