上記の回答は正しいですが、フォームを検証しません。ユーザーは引き続きフォームを送信できます。
私はいくつかの調査を行いましたが、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!"
);
});