2017-01-03 1 views
0

Я использую JQuery UI версии 1.12.1 и JQuery Validation v1.15.0В случае нажатия кнопки «Введите действительную дату». в jquery.validate.js

Я создал DatePicker следующим образом:

if ($.fn.datepicker) $(':input.date').datepicker({ 
      changeMonth: true, 
      changeYear: true 
    }); 

По умолчанию формат даты будет мм/дд/гггг, например 01/26/2017, представляют 26 января 2017.

Я пытаюсь изменить формат даты дд/мм/гггг, так что я изменить DatePicker следующим образом:

if ($.fn.datepicker) $(':input.date').datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     dateFormat: 'dd/mm/yy' 
}); 

Ну, теперь формат даты отображается правильно, как я желаю, он станет 26/01/2017, представляет собой 26 января 2017 года.

Однако он выдает красное сообщение об ошибке Please enter a valid date.. После моей отладки, я обнаружил, что сообщение об ошибке на самом деле происходят из jquery.validate.js в строке 357:

messages: { 
     // some other code 
     date: "Please enter a valid date.", 
     // some other code 
    }, 

Любая идея, как/почему это бросить это сообщение об ошибке?

Это моя версия jQuery UI, не совместимая с версией проверки jQuery?

Просьба сообщить.

ответ

1

Найдено, он был на самом деле вызвать с помощью метода проверки даты в jquery.validate.min.js, что соответствует 1356:

// http://jqueryvalidation.org/date-method/ 
     date: function(value, element) { 
      return this.optional(element) || !/Invalid|NaN/.test(new Date(value).toString()); 
     }, 
+0

'/Invalid|NaN/.test(new Дата (значение) .toString()) 'должно действительно быть' isNaN (новая дата (значение)) '. – RobG

 Смежные вопросы

  • Нет связанных вопросов^_^