Parsley 自定义动态错误信息
Parsley custom dynamic error message
欧芹 (2.8)
我有一个自定义验证器
window.Parsley.addValidator('password', {
validateString: function(value, req, elem) {
var error = validatePassword(value);
return error === '';
},
messages: {
en: 'Want my custom message based on input value'
}
});
validatePassword(value)
return 根据值的错误消息,例如缺少特殊字符。那么我如何访问错误消息中的值或输入元素。
目前 return "dynamic" 错误消息的方法是 return 从您的 validateString
方法中获取失败的承诺。 This example 使用此技术。
经过一番挣扎,我找到了解决办法。我们不能用参数指定回调来创建动态错误消息,但我们可以在验证回调中添加错误消息,我们也可以在其中访问输入值和元素。
window.Parsley.addMessage(lenguage, validatorName, customErrorMessage)
window.Parsley.addMessage('en', 'password', 'Missing special character')
window.Parsley.addValidator('password', {
validateString: function(value, req, elem) {
// We can add dynamic error message here.
// window.Parsley.addMessage(lenguage, validatorName, customErrorMessage);
var error = validatePassword(value); // validatePassword() returns error message if there are any validation errors otherwise empty string.
window.Parsley.addMessage('en', 'password',error);
return error === '';
}
});
欧芹 (2.8) 我有一个自定义验证器
window.Parsley.addValidator('password', {
validateString: function(value, req, elem) {
var error = validatePassword(value);
return error === '';
},
messages: {
en: 'Want my custom message based on input value'
}
});
validatePassword(value)
return 根据值的错误消息,例如缺少特殊字符。那么我如何访问错误消息中的值或输入元素。
目前 return "dynamic" 错误消息的方法是 return 从您的 validateString
方法中获取失败的承诺。 This example 使用此技术。
经过一番挣扎,我找到了解决办法。我们不能用参数指定回调来创建动态错误消息,但我们可以在验证回调中添加错误消息,我们也可以在其中访问输入值和元素。
window.Parsley.addMessage(lenguage, validatorName, customErrorMessage)
window.Parsley.addMessage('en', 'password', 'Missing special character')
window.Parsley.addValidator('password', {
validateString: function(value, req, elem) {
// We can add dynamic error message here.
// window.Parsley.addMessage(lenguage, validatorName, customErrorMessage);
var error = validatePassword(value); // validatePassword() returns error message if there are any validation errors otherwise empty string.
window.Parsley.addMessage('en', 'password',error);
return error === '';
}
});