Я выяснил, как это сделать, изучив источник плагина jQuery validate, поэтому я сделал свою собственную функцию, чтобы подключиться к нему:
$.validator.prototype.ruleValidationStatus = function( element ) {
element = $(element)[0];
var rules = $(element).rules();
var errors ={};
for (var method in rules ) {
var rule = { method: method, parameters: rules[method] };
try {
var result = $.validator.methods[method].call( this, element.value.replace(/\r/g, ""), element, rule.parameters );
errors[rule.method] = result ;
} catch(e) {
console.log(e);
}
}
return errors;
}
Простое использование:
$("#myform").validate().ruleValidationStatus($("#myField"))
И результат выборки:
{
required : true,
regex : true,
maxlength : true,
remote : false,
__dummy__ : true
}
Из этого объекта легко увидеть, какие правила не выполняются.