Po prostu musiałem dowiedzieć się tego, ja overrode regułę i używany atrybut danych
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);
}
zakłada masz datepicker, ale jeśli używasz dat i jQuery, I myśl, że to bezpieczny zakład. Jeśli element ma format daty zdefiniowany w data-dateformat, to będzie go parsować za pomocą tego, w przeciwnym razie powróci do domyślnej reguły daty, a jeśli nie był obecny, implementuje regułę domyślną.
umieściłem to w moim miejscu pliku kodu globalny utrzymać ją na zewnątrz skryptów jQuery
miałem ten sam problem jakiś czas temu, nie mógł znaleźć apt rozwiązanie dla tej kwestii, co do pracy ok, ja dezaktywował walidację klienta MVC, napisał własną niestandardową walidację dla 'required' i ustawił pole daty wprowadzenia jako' readonly', aby użytkownicy nie mogli zmienić daty podanej przy użyciu 'datepicker' – AthibaN
Po zastosowaniu powyższego rozwiązania problem ten wystąpi: http://stackoverflow.com/questions/26279779/validation-of-datetimepicker-is-not-working-properly –