如何使用Joi制作自定义错误消息



如何使用joi制作自定义消息?我看到了许多与此相关的已回答问题,但我不知道为什么它在我的端不起作用,错误消息总是出现在"学生;不包含1个所需值我想要的是";学生;此字段为必填字段

export const VALIDATION_SCHEMA = {
students: Joi.array()
.label('Student Name(s)')
.items(
Joi.object({
name: Joi.string(),
value: Joi.string()
}).required().messages('"Student" This field is required.')
),
}

您可以使用错误构造函数返回自定义错误对象,如下所示:

var schema = Joi.object().keys({
firstName: Joi.string().min(4).max(8).required().error(new 
Error('error message here for first name')),
lastName: Joi.string().min(5).max(1).required().error(new 
Error('error message here for last name'))
});
Joi.validate(req.body, schema, function(err, value) {
if (err) {
console.log(err.message)
return catched(err.message); 
}
});

在我看来,最简单的方法就是这样。

const Joi = require("@hapi/joi");
export const categorySchema = Joi.object({
mobile: Joi.string().trim().regex(/^[6-9]d{9}$/).required().messages({
"string.base": `"" should be a type of string`,
"string.empty": `"" must contain value`,
"string.pattern.base": `"" must be 10 digit number`,
"any.required": `"" is a required field`
}),
password: Joi.string().trim().required().messages({
"string.base": `"" should be a type of 'text'`,
"string.pattern.base": `"" must be 10 digit number`,
"any.required": `"" is a required field`
}),
}).required();

相关内容

  • 没有找到相关文章

最新更新