Mantenga sus caballos, chicos! :)
No olvide que Date.parse no puede funcionar correctamente con diferentes configuraciones regionales, solo analiza correctamente el formato de fecha específico.
Si usa varios formatos de fecha (específicos de la cultura), es mejor seguir con el manejo de la fecha de jquery datepicker.
Supongamos que ha cargado el objeto jquery datepicker específico de la cultura (por ejemplo, jquery.ui.datepicker-nb-NO.js, donde el formato de fecha es DD.MM.aaaa y no está analizado por Fecha). analizar) e inicializado que, el enfoque correcto es:
$.validator.addMethod('dateRange', function (value, element, parameterValue) {
if (this.optional(element) && !value) {
return true;
}
var dateFormat = $(element).datepicker('option', 'dateFormat');
try {
var startDate = $.datepicker.parseDate(dateFormat, parameterValue[0]).getTime();
var endDate = $.datepicker.parseDate(dateFormat, parameterValue[1]).getTime();
var enteredDate = $.datepicker.parseDate(dateFormat, value).getTime();
return (startDate <= enteredDate) && (enteredDate <= endDate);
} catch (error) {
return true;
}
});
he puesto parseDate cosas dentro del bloque try, porque no hay forma normal de averiguar si la fecha se ha analizado correctamente.