最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - parsley.js how to trigger an error on a field with a custom error message - Stack Overflow

programmeradmin2浏览0评论

It would be great if it was possible to do such thing as

$('input.specific-field').parsley('error', 'this is a custom error message');

...but I guess that isn't possible?

How could I achive such thing?

It would be great if it was possible to do such thing as

$('input.specific-field').parsley('error', 'this is a custom error message');

...but I guess that isn't possible?

How could I achive such thing?

Share Improve this question asked Jan 15, 2014 at 21:07 riccardolardiriccardolardi 1,7415 gold badges20 silver badges36 bronze badges
Add a comment  | 

5 Answers 5

Reset to default 16

Parsley has some built-in ways of adding custom error messages.

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");

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

EDIT: This method is now deprecated (thanks to @giraff).

This is how I got it working for Parsley 2.8:

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

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

Here is a turnkey-solution that I used for showing error from AJAX to fields identified by their 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});
    }
}

This solution will not prevent form-submit, though (because it only displays error messages in the UI, the form validation logic is not touched). That's why Parsley.js favors custom validators.

maybe this:

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

worked for me see http://parsleyjs.org/doc/index.html#ui-for-javascript for more info.

Examples above appear to be for Parsley 2.0 I'm stuck with an older version but got custom errors to work with the following.

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!'});
发布评论

评论列表(0)

  1. 暂无评论