Ну, выше ответ правильный, но он не проверяет форму, пользователь все равно сможет отправить форму,
Я провел несколько исследований, но не смог найти ny, и, наконец, я написал эту функцию, которая отлично работает и проверяет форму, и не позволяет отправлять форму до тех пор, пока не будет введена правильная дата. Надеюсь, это поможет!
Единственное, что вам нужно сделать, это добавить этот код, а затем он будет применяться ко всем полям с классом datePicker.
$(".datePicker").datepicker({
dateFormat: 'd/mm/yy',
changeMonth: true,
changeYear: true,
firstDay: 1,
minDate: Date.parse("1900-01-01"),
maxDate: Date.parse("2100-01-01"),
yearRange: "c-90:c+150"
});
// validation in case user types the date out of valid range from keyboard : To fix the bug with out of range date time while saving in sql
$(function() {
$.validator.addMethod(
"date",
function (value, element) {
var minDate = Date.parse("1900-01-01");
var maxDate = Date.parse("2100-01-01");
var valueEntered = Date.parse(value);
if (valueEntered < minDate || valueEntered > maxDate) {
return false;
}
return !/Invalid|NaN/.test(new Date(minDate));
},
"Please enter a valid date!"
);
});