有没有其他方法可以在Joi验证模式中为关键的期望正则表达式模式设置特定值?
我的示例架构:
const schema = joi.object().keys({
query: joi.object().keys({
// allow only apple and banana
id: joi.string().regex(/^(apple|banana)$/).required(),
}).required(),
})
答案 0 :(得分:26)
您也可以使用valid
之类的
const schema = joi.object().keys({
query: joi.object().keys({
// allow only apple and banana
id: joi.string().valid('apple','banana').required(),
}).required(),
})
参考:https://github.com/hapijs/joi/blob/v13.1.2/API.md#anyvalidvalue---aliases-only-equal
答案 1 :(得分:1)
如果您想接受一个或多个值(苹果,香蕉或两者),则可以使用allow
:https://joi.dev/api/?v=17.3.0#anyallowvalues