剛走不得不想出解決辦法,我推翻了統治和使用的數據屬性
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的腳本外
我有同樣的問題,而一年前,找不到問題的一個恰當的解決方案,因爲周圍的工作,我禁用了MVC的客戶端驗證,爲'required'編寫了我自己的自定義驗證並將輸入日期字段設置爲'readonly',以便用戶無法修改使用'datepicker'提供的日期 – AthibaN
當您應用上述解決方案時,將出現以下問題: http://stackoverflow.com/questions/26279779/validation-of-datetimepicker-is-not-working-properly –