jQuery Проверка плагина, не проверяющего даты

Я использую плагин jQuery Validate для проверки даты формы. Я установил правила для ввода элемента для проверки по мере необходимости и в качестве даты. Единственное правило, хотя кажется, что это стрельба, является обязательным, поскольку я могу поместить любую вещь в (текст, числа и т. Д.), И она проходит проверку. Только если поле ввода пустое, оно показывает ошибку.

Вот мой сценарий:

        $(function() {
            $('#form1').validate({
                rules: {
                    entryDate: {
                        required: true,
                        date: true
                    }
                },
                messages: {
                    entryDate:{
                        required: "A Date is required",
                        date: "Please enter a valid date"
                    }
                }
            });
        });

который находится внутри тега скрипта.

Вот моя тестовая форма:

    <form action="" method="POST" id="form1">
            <input id="entryDate" name="entryDate" class="date" type="text" />
            <input type="submit" name="submit" id="submit" />
        </form>

Может ли кто-нибудь указать мне в правильном направлении, пожалуйста? Почему не принимаются даты?

Я включил скрипты в файл (jQuery и Validate), и оба загружаются нормально.

1
nl ja de
В качестве тестового ввода я попробовал «abc» и «123», оба этих элемента, похоже, прошли проверку. На основании комментариев это ожидаемое и нормальное поведение для проверки даты?
добавлено автор Ray, источник
Это объясняется в документации: Возвращает true, если значение является допустимой датой. Использует встроенные DateScripts для проверки работоспособности даты и, следовательно, не проверяет работоспособность. Только формат должен быть действительным, а не фактическая дата, например 30/30/2008 - это действительная дата. Работает с текстовыми вводом! Это означает, что подтверждение, которое не возвращает «Недействительная дата» при передаче конструктору Date , будет проверяться.
добавлено автор Andrew Whitaker, источник

1 ответы

Цитата OP: «Почему не принимаются даты?»

     

Цитата OP comment: "В качестве тестового ввода я попробовал 'abc' и '123' оба из этих   записи, похоже, прошли проверку. Основываясь на комментарии,   ожидаемое и нормальное поведение для проверки даты? »

Ваш код, точно так же, как вы его разместили, работает так, как ожидалось. Как вы можете видеть, abc и 123 выполнить not пройти проверку ...

http://jsfiddle.net/zsCM3/

Вам также не нужно использовать inline class = "date" , когда вы уже объявили date: true в рамках rules . Хотя это не имеет никакого отношения к проблеме, демо работает одинаково в обоих случаях ...

http://jsfiddle.net/TWEXJ/


<Сильный> EDIT:

Подтверждено, что в Chrome (24.0.1312.52) запись 123 действительно проходит проверку. Я попробовал jsFiddle с jQuery 1.8.3 и 1.9.0.

1
добавлено
Привет - спасибо только что рассмотрели - спасибо. Однако в CHrome скрипт по-прежнему принимает 123 как действительную дату. Я протестировал его в firefox, и все работает хорошо и проверено, как ожидалось. Я знаю, что хром только подтвердил даты, но не знал, что это может быть проблемой с хром. спасибо
добавлено автор Ray, источник
@ sparky-sorry всегда забывает не нажимать клавишу возврата при добавлении комментария, поскольку он отправляет на раннее завершенное замечание, как указано выше. Появляется проблема с браузером. Не уверена, как разрешить отсюда, так что согласится, что он работает повсюду и движется дальше ... спасибо.
добавлено автор Ray, источник
@Ray, Так как опубликованный код работает, можете ли вы прояснить свой вопрос?
добавлено автор Sparky, источник
@Ray ... это действительно странно. В моем Chrome 123 проходит проверку, но abc нет. Это может быть достойным отчета об ошибке для автора плагина.
добавлено автор Sparky, источник
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda