Bene, la risposta di cui sopra è corretta, ma non convalida la forma, l'utente ancora sarà in grado di inviare il modulo,
Ho fatto alcune ricerche, ma non ho potuto trovare ny, finalmente ho scritto questa funzione che funziona bene e convalidare il modulo, e non lasciare inviare il modulo fino a quando non viene inserita la data corretta, Spero che aiuti!
L'unica cosa che devi fare è aggiungere questo codice, e questo sarà applicato a tutti i campi con la classe '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!"
);
});