I'm using jQuery Validation on a page. During the call to the invalidHandler I would like to be able to access a list of all the form elements that failed validation.
This function is being passed as one of the options to the jQuery.validate() method...
invalidHandler: function (form) {
var validator = $("#AddEditFinancialInstitutionForm").validate();
validator.showErrors();
console.log(validator);
}
I'm trying to find this information somewhere in the resulting validator object, but I can't seem to find it. Is there another way I can access this information?
Thanks
In the invalidHandler
, you are passed two arguments, a jQuery.Event
and the validator
object. You don't need to call validate within your invalidHandler to get the validate object. Further, the validator object has a properties called errorList
and errorMap
, which contain the information you are looking for.
invalidHandler: function(e,validator) {
//validator.errorList contains an array of objects, where each object has properties "element" and "message". element is the actual HTML Input.
for (var i=0;i<validator.errorList.length;i++){
console.log(validator.errorList[i]);
}
//validator.errorMap is an object mapping input names -> error messages
for (var i in validator.errorMap) {
console.log(i, ":", validator.errorMap[i]);
}
}
If you are using the default error class and only find the invalid elements, use
$(this).find("input.error") // inside invalidHandler
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