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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With