У меня есть супер простой метод проверки jQuery, который запускается в поле даты рождения. Все, что он делает, это проверить, была ли введенная дата (из типа ввода HTML5 = поле даты) до текущей даты. Если это так, оно действительно, иначе оно недействительно. Он отлично работает в Chrome, но по какой-то причине он не работает в Safari, действуя так, как будто введена неверная дата. Здесь код:
$.validator.addMethod("bornBeforeToday", function(value, element) {
// For DOB, check that value given is before the current date
if (value.length > 0) {
return Date.parse(value) < new Date();
} else {
return true;
}
}, "Date must be less than than current date");
Методы Javascript Date зависят от браузера. Перед проверкой диапазона попробуйте использовать методы dateUS или dateISO.