Core: Make element() handle ignored elements properly.

Allows ignored elements to be validated, removing any errors if necessary.

Closes gh-721
This commit is contained in:
joseph.bott
2013-04-10 11:44:23 -05:00
committed by Jörn Zaefferer
parent 5bebaa5c55
commit 3f464a8da4

View File

@@ -385,15 +385,24 @@ $.extend($.validator, {
// http://jqueryvalidation.org/Validator.element/ // http://jqueryvalidation.org/Validator.element/
element: function( element ) { element: function( element ) {
element = this.validationTargetFor( this.clean( element ) ); var cleanElement = this.clean( element );
this.lastElement = element; var checkElement = this.validationTargetFor( cleanElement );
this.prepareElement( element ); var result = true;
this.currentElements = $(element);
var result = this.check( element ) !== false; this.lastElement = checkElement;
if ( result ) {
delete this.invalid[element.name]; if (checkElement === undefined) {
delete this.invalid[cleanElement.name];
} else { } else {
this.invalid[element.name] = true; this.prepareElement( checkElement );
this.currentElements = $(checkElement);
result = this.check( checkElement ) !== false;
if (result) {
delete this.invalid[checkElement.name];
} else {
this.invalid[checkElement.name] = true;
}
} }
//Add aria-invalid status for screen readers //Add aria-invalid status for screen readers
$(element).attr("aria-invalid", !result); $(element).attr("aria-invalid", !result);