Tôi có một số xác thực cơ bản trên biểu mẫu bao gồm hai giao diện người dùng jQuery DatePickers. Định dạng của ngày là yy-mm-dd. Có một yêu cầu yêu cầu và ngày trên cả hai DatePickers.Trình xác thực ngày trên DatePicker kích hoạt phủ định sai trong IE7/IE8
Những công việc như mong đợi trong Chrome & FF, nhưng kích hoạt phủ định sai (đầu vào hợp lệ được cho là không hợp lệ) trong IE7/IE8.
chọn ngày thiết lập:
$('.datepicker').datepicker({
dateFormat: 'yy-mm-dd'
});
này không liên quan nhưng tôi figured tôi sẽ bao gồm, chỉ trong trường hợp:
$.validator.addMethod("endDate", function(value, element) {
var startDate = $('#startDate').val();
return Date.parse(startDate) <= Date.parse(value);
});
Việc xác nhận thực tế:
$('#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();
}
});
Trong IE7/IE8, đầu vào hợp lệ (chỉ cần chọn ngày) với cả DatePickers sẽ dẫn đến ngày lỗi ("Ngày không hợp lệ. Phải được định dạng yyyy-mm-dd "). Điều này không xảy ra trong các trình duyệt khác.
Nó cũng không tạo ra bất kỳ lỗi Javascript.
Cảm ơn trước,
Ian