Having just had to figure this out, I overrode the rule and used a data attribute
if (typeof jQuery.validator.methods.date !== 'function') {
var f = function (value, element) {
var e = $(element).attr('data-dateformat');
if (e && (e.length)) {
var dt = jQuery.datepicker.parseDate(e, value);
return this.optional(element) || !/Invalid|NaN/.test(dt.toString());
} else {
return this.optional(element) || !/Invalid|NaN/.test(new Date(value).toString());
}
}
jQuery.validator.addMethod("date", f);
} else {
var m = jQuery.validator.methods.date;
var f = function(value, element) {
var e = $(element).attr('data-dateformat');
if (e && (e.length)) {
var dt = jQuery.datepicker.parseDate(e, value);
return this.optional(element) || !/Invalid|NaN/.test(dt.toString());
} else {
return m(value, element);
}
}
jQuery.validator.addMethod("date", f);
}
It ASSUMES you have datepicker, but if you are using dates, and jQuery, I think that's a safe bet.
If the element has a date format defined in data-dateformat it will parse it using that, otherwise it will fall back to the default date rule, and if that wasn't present it implements the default rule.
I placed this in my site global code file to keep it outside the jQuery scripts