Я принимаю во внимание дату рождения и дату смерти. Требуется подтверждение
- дата смерти должна быть больше, чем дата рождения.
- Формат даты dd/mm/yyyy
- Даты будут меньше или равно сегодняшнему.
Проверка не работает должным образом и не может решить проблему. Пожалуйста, помогите.
Используемые библиотеки JS
- Пользовательский интерфейс JQuery для Calendar/Datepicker
- Проверка JQuery для проверки формы
-
Дополнительные методы для библиотеки валидации
var today = new Date(); var authorValidator = $("#itemAuthorForm").validate({ rules : { dateOfBirth : { required : false, date : true, dateITA : true, dateLessThan : '#expiredDate' }, expiredDate : { required : false, date : true, dateITA : true, dateGreaterThan : "#dateOfBirth" } }, onfocusout : function(element) { if ($(element).val()) { $(element).valid(); } } }); var dateOptionsDOE = { maxDate : today, dateFormat : "dd/mm/yy", changeMonth : true, changeYear : true, onClose : function(selectedDate) { $("#dateOfBirth").datepicker("option", "maxDate", selectedDate); } }; var dateOptionsDOB = { maxDate : today, dateFormat : "dd/mm/yy", changeMonth : true, changeYear : true, onClose : function(selectedDate) { $("#expiredDate").datepicker("option", "minDate", selectedDate); } }; jQuery.validator.addMethod("dateGreaterThan", function(value, element, params) { if ($(params).val() === "") return true; if (!/Invalid|NaN/.test(new Date(value))) { return new Date(value) > new Date($(params).val()); } return isNaN(value) && isNaN($(params).val()) || (Number(value) > Number($(params).val())); }, 'Must be greater than {0}.'); jQuery.validator.addMethod("dateLessThan", function(value, element, params) { if ($(params).val() === "") return true; if (!/Invalid|NaN/.test(new Date(value))) { return new Date(value) < new Date($(params).val()); } return isNaN(value) && isNaN($(params).val()) || (Number(value) < Number($(params).val())); }, 'Must be less than {0}.'); $("#expiredDate").datepicker( $.extend({}, $.datepicker.regional['en-GB'], dateOptionsDOE)); $("#dateOfBirth").datepicker( $.extend({}, $.datepicker.regional['en-GB'], dateOptionsDOB));