我对名为 store_type 的字段进行了以下 Joi 验证
store_type: Joi.string().valid(...Object.values(storeTypes))
.error(() => ({
message: `Store Type must be one of: ${Object.values(storeTypes).join(', ')}`,
})).default(storeTypes.aaa),
其中 storeTypes 定义为
storeTypes: {
aaa: 'AAA',
bbb: 'BBB'
}
根据上述验证,我期望的是
AAA
AAA
或BBB
,如果不是,那么它应该失败并出现上述错误可以对上述代码进行哪些更改,使其按照我的要求工作。
提前致谢
我自己尝试过,必须使用您要添加的自定义错误消息来修改错误消息
store_type: Joi.string()
.valid(...Object.values(storeTypes))
.error((err) => {
err[0].message = `Store Type must be one of: ${Object.values(storeTypes).join(', ')}`
return err;
})
.default(storeTypes.aaa)