Node.js 从@hapi/joi错误消息中删除特殊字符
我使用@hapi/Joi中的Joi来验证我的数据,但是当我试图通过删除反斜杠和双引号来定制错误消息时;它不起作用 我的验证功能Node.js 从@hapi/joi错误消息中删除特殊字符,node.js,joi,Node.js,Joi,我使用@hapi/Joi中的Joi来验证我的数据,但是当我试图通过删除反斜杠和双引号来定制错误消息时;它不起作用 我的验证功能 const validateSignup = (user) => { const schema = Joi.object().keys({ first_name: Joi.string().min(3).max(20) .required(), last_name: Joi.string().min(3).max(20)
const validateSignup = (user) => {
const schema = Joi.object().keys({
first_name: Joi.string().min(3).max(20)
.required(),
last_name: Joi.string().min(3).max(20)
.required(),
email: Joi.string().email({ minDomainSegments: 2 }).trim().required(),
password: Joi.string().regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/)
.required()
});
const options = {
abortEarly: false,
key: '"{{key}}" ',
escapeHtml: true,
language: {
string: {
base: '{{key}} '
}
}
};
return schema.validate(user, options);
};
我试图在网上搜索,但由于某种原因,它不起作用。我做错了什么?请帮忙
邮差的回应
const validateSignup = (user) => {
const schema = Joi.object().keys({
first_name: Joi.string().min(3).max(20)
.required(),
last_name: Joi.string().min(3).max(20)
.required(),
email: Joi.string().email({ minDomainSegments: 2 }).trim().required(),
password: Joi.string().regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/)
.required()
});
const options = {
abortEarly: false,
key: '"{{key}}" ',
escapeHtml: true,
language: {
string: {
base: '{{key}} '
}
}
};
return schema.validate(user, options);
};
此版本发布后,可以在@hapi/joi中自定义错误消息以删除双引号。默认的
标签:“”
。虽然此功能可用,但您可能要等到,希望他们能尽快添加
const options = {
errors: {
wrap: {
label: ''
}
}
};
return schema.validate(user, options);
在您的情况下,上述配置将删除双引号
这似乎是joi中的一个老问题。请看这里:Express validator是一个很好的选项,具有非常好的自定义错误支持。Thx提供帮助。