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/
element: function( element ) {
element = this.validationTargetFor( this.clean( element ) );
this.lastElement = element;
this.prepareElement( element );
this.currentElements = $(element);
var result = this.check( element ) !== false;
if ( result ) {
delete this.invalid[element.name];
var cleanElement = this.clean( element );
var checkElement = this.validationTargetFor( cleanElement );
var result = true;
this.lastElement = checkElement;
if (checkElement === undefined) {
delete this.invalid[cleanElement.name];
} 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
$(element).attr("aria-invalid", !result);