У меня есть некоторая базовая проверка в форме, которая включает в себя два jQuery UI DatePickers.Формат даты - гг-мм-дд.Существует проверка на требуется и date для обоих DatePickers.
Они работают, как и ожидалось, в Chrome и FF, но вызывают ложные отрицания (допустимый ввод считается неверным) в IE7 / IE8.
Настройка выбора даты:
$('.datepicker').datepicker({
dateFormat: 'yy-mm-dd'
});
Это не связано, но я подумал, что я бы включил, на всякий случай:
$.validator.addMethod("endDate", function(value, element) {
var startDate = $('#startDate').val();
return Date.parse(startDate) <= Date.parse(value);
});
Фактическая проверка:
$('#ExampleForm').validate({
rules: {
StartDate: {
required: true,
date: true
},
EndDate: {
required: true,
date: true,
endDate: true
}
},
messages: {
StartDate: {
required: "Start Date required",
date: "Invalid date. Must be formatted yyyy-mm-dd"
},
EndDate: {
required: "End Date required",
date: "Invalid date. Must be formatted yyyy-mm-dd",
endDate: "Start date must occur before end date."
}
},
errorPlacement: function(error, element) {
error.appendTo(element.parent().next());
},
submitHandle: function(form) {
form.submit();
}
});
В IE7 / IE8, допустимый ввод (просто выбирая дату) с обоими DatePickers приведет к ошибке date («Неверная дата. Должен быть отформатирован гггг-мм-дд»).Это не происходит в других браузерах.
Он также не вызывает ошибок Javascript.
Заранее спасибо,
Ian