在joi中,可以使用regex
规则来验证字符串是否符合正则表达式的模式。如果验证失败,可以为regex
规则设置自定义消息。
要为regex
规则设置自定义消息,可以使用messages
选项。messages
选项是一个对象,其中的键是验证规则的名称,值是自定义消息。
对于regex
规则,可以将其命名为一个自定义的规则名称,然后在messages
选项中为该规则名称设置自定义消息。
以下是一个示例:
const Joi = require('joi');
const schema = Joi.object({
username: Joi.string()
.regex(/^[a-zA-Z0-9]{3,30}$/)
.messages({
'string.pattern.base': '用户名必须是3到30个字符的字母和数字组合'
})
});
const data = {
username: 'abc@123'
};
const result = schema.validate(data);
console.log(result.error); // 输出自定义消息:用户名必须是3到30个字符的字母和数字组合
在上面的示例中,我们为regex
规则设置了一个自定义的规则名称string.pattern.base
,并为该规则名称设置了自定义消息用户名必须是3到30个字符的字母和数字组合
。当验证失败时,将输出该自定义消息。
这样,你就可以为joi中的regex
规则设置自定义消息了。
领取专属 10元无门槛券
手把手带您无忧上云