刚刚弄清楚这一点,我覆盖了规则并使用了数据属性
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);
}
它假设您有日期选择器,但如果您使用日期和 jQuery,我认为这是一个安全的选择。如果元素具有在 data-dateformat 中定义的日期格式,它将使用该格式对其进行解析,否则它将回退到默认日期规则,如果不存在,则执行默认规则。
我将它放在我的站点全局代码文件中,以将其保留在 jQuery 脚本之外