Parsley 自定义动态错误信息

Posted

技术标签:

【中文标题】Parsley 自定义动态错误信息【英文标题】:Parsley custom dynamic error message 【发布时间】:2018-04-03 20:40:06 【问题描述】:

欧芹 (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)根据值返回错误信息,例如缺少特殊字符。那么我如何访问错误消息中的值或输入元素。

【问题讨论】:

【参考方案1】:

目前返回“动态”错误消息的方法是从您的validateString 方法返回一个失败的承诺。 This example 使用这种技术。

【讨论】:

【参考方案2】:

经过一番挣扎,我找到了解决办法。我们不能用参数指定回调来创建动态错误消息,但我们可以在验证回调中添加错误消息,我们也可以访问输入值和元素。

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 === '';
    
);

【讨论】:

以上是关于Parsley 自定义动态错误信息的主要内容,如果未能解决你的问题,请参考以下文章

Parsley 验证逗号分隔的电子邮件地址

自定义动态组件,剩下的三种周期函数

在 Rails 4 中正确实现 Parsley.js 自定义远程验证器

Parsley 在页面上没有的字段上引发错误

gin框架自定义验证错误提示信息

从零开发区块链应用--自定义业务错误信息