parsley.js如何使用自定义错误消息触发字段上的错误

时间:2014-01-15 21:07:37

标签: javascript jquery html css parsley.js

如果有可能做

这样的事情会很棒
$('input.specific-field').parsley('error', 'this is a custom error message');

......但我想这是不可能的?

我怎么能得到这样的东西?

5 个答案:

答案 0 :(得分:14)

Parsley有一些添加自定义错误消息的内置方法。

var specificField = $('input.specific-field').parsley();
# add the error
window.ParsleyUI.addError(specificField, "myCustomError", 'this is a custom error message');
# remove the error
window.ParsleyUI.removeError(specificField, "myCustomError");

此处有更多信息:http://parsleyjs.org/doc/index.html#psly-ui-for-javascript

编辑This method is now deprecated(感谢@giraff)。

答案 1 :(得分:2)

也许这个:

$('input.specific-field').parsley().UI.manageError({error: 'this is a custom error message'});

答案 2 :(得分:2)

这就是我为Parsley 2.8工作的方式:

field.parsley().removeError('customValidationId');
field.parsley().addError('customValidationId', {message: "myCustomError"});

http://parsleyjs.org/doc/index.html#psly-ui-for-javascript

这是一个交钥匙解决方案,我用它来显示从AJAX到其ID标识的字段的错误:

// Removing errors from previous AJAX call
if ($('.js_error').length) {
    $('.js_error').parsley().removeError('myError');
    $('.js_error').removeClass('.js_error');
}

// Showing errors from current AJAX call
for (var idField in ajaxErrors) {
    var msg = ajaxErrors[idField];
    var field = $('#field_' + idField);
    if (field.length) {
        field.addClass('js_error');
        field.parsley().removeError('myError');
        field.parsley().addError('myError', {message: msg});
    }
}

此解决方案不会阻止表单提交(因为它只在UI中显示错误消息,因此不会触及表单验证逻辑)。这就是Parsley.js favors custom validators

的原因

答案 3 :(得分:2)

data-parsley-error-message="my message" 

为我工作了 http://parsleyjs.org/doc/index.html#ui-for-javascript了解更多信息。

答案 4 :(得分:0)

以上示例似乎适用于Parsley 2.0 我坚持使用旧版本,但是使用自定义错误来处理以下内容。

el = $('#my_input').parsley();
el.manageErrorContainer(); // set up the error list container
$(el.ulError).empty() // clear any previous errors if you want..
el.addError({error: 'Hey, mind yerself!'});