[英]Joi validation display custom error message
嗨,我正在使用"@hapi/joi": "^15.1.1"
。 不幸的是,我现在无法更新到最新的 Joi 版本。
这是我的验证模式
const schema = { name: Joi.string().allow("").max(30), addLine1: Joi.string().required().label("Address Line 1"), locality: Joi.string().required().label("City"), region: Joi.string().required().label("State"), zipCode: Joi.number().required().label("Zip Code"), phoneNo: Joi.string().required("Required").regex(/^[0-9]{3}\-[0-9]{3}\-[0-9]{4}$/) };
然后我验证并显示发生的第一个错误
const result = Joi.validate(this.state.addressDetails, this.schema, {
abortEarly: true,
});
return const errors = result.error.details[0].message;
这行得通。 唯一的问题是我想显示自定义错误消息而不是默认错误消息。
地址的默认错误消息是"Address Line 1" is not allowed to be empty"
而不是这个,我想显示"Address is required!"
对于正则表达式默认一个是
phoneNo with value "555" fails to match the required pattern: /^[0-9]{3}\-[0-9]{3}\-[0-9]{4}$/
相反,我想显示please enter a valid phone number
我如何使用15.1.1
版本来实现这一点。 较新版本的messages
在这里无济于事。
尝试从.error
回调中返回消息
addLine1: Joi.string()
.required()
.label("Address Line 1").error(()=>'"Address Line 1" is not allowed to be empty'),
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.