以下是一个完整的示例代码,演示如何在Javascript中使用AJV库添加自定义错误消息:
const Ajv = require('ajv');
// 创建一个新的AJV实例
const ajv = new Ajv();
// 添加自定义错误消息
ajv.addKeyword('customMessage', {
validate: function (schema, data) {
if (!data.startsWith('Hello')) {
this.errors = [
{
keyword: 'customMessage',
message: '数据必须以"Hello"开头',
params: { keyword: 'customMessage' }
}
];
return false;
}
return true;
}
});
// 定义数据验证规则
const schema = {
properties: {
data: {
type: 'string',
customMessage: true
}
}
};
// 编译规则为验证函数
const validate = ajv.compile(schema);
// 验证数据
const valid = validate({ data: 'World' });
if (!valid) {
console.log(validate.errors[0].message);
}
在上述示例中,我们首先创建了一个新的AJV实例,并使用ajv.addKeyword方法添加了自定义错误消息。然后,我们定义了数据验证规则,并使用ajv.compile方法将规则编译为验证函数。
在验证数据时,如果数据不以"Hello"开头,验证将失败,并且我们可以通过validate.errors[0].message获取自定义错误消息。在本例中,该消息为"数据必须以"Hello"开头"。
通过使用AJV库的自定义错误消息功能,我们可以为用户提供更好的体验和详细的错误提示。