I have a basic form validation that includes two jQuery UI DatePickers. The date format is yy-mm-dd. Both DatePickers have a mandatory and dated check.
They work in both Chrome and FF, but cause false negatives (valid input is considered invalid) in IE7 / IE8.
Date picker setting:
$('.datepicker').datepicker({ dateFormat: 'yy-mm-dd' });
This is not related, but I thought I would include, just in case:
$.validator.addMethod("endDate", function(value, element) { var startDate = $('#startDate').val(); return Date.parse(startDate) <= Date.parse(value); });
Actual check:
$('#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(); } });
In IE7 / IE8, valid input (just picking a date) using both DatePickers will result in a date error ("Invalid date. Must be formatted yyyy-mm-dd"). This does not happen in other browsers.
It also does not cause Javascript errors.
Thanks in advance,
Yang
jquery jquery-validate validation jquery-ui-datepicker
Ian bishop
source share