Проверьте встроенный jquery Datepicker, используя проверку jquery - PullRequest
0 голосов
/ 28 октября 2011

Я пытаюсь убедиться, что дата была выбрана с помощью моего встроенного указателя даты. Встроенный указатель даты передает скрытое поле ввода, поэтому требовать этого сложно.Чтобы попытаться отобразить сообщение, я переместил свои сообщения об ошибках с помощью invalidHandler.

Мой код:

<script type="text/javascript">
      jQuery('#date').datepicker({
        inline: true,   
        beforeShowDay: checkDayOfWeek,
        onSelect: function(dateText, inst) { $("#ship_date").val(dateText); }
      });
</script>

<div id="date" style="font-size: 75%;" class="required"></div>
<input type="hidden" name="ship_date" id="ship_date" class="required" />

Я переместил сообщение об ошибке:

jQuery("#custform").validate({
invalidHandler: function(e, validator) {
    var errors = validator.numberOfInvalids();
    if (errors) {
        var message = errors == 1
            ? 'You missed 1 field. It has been highlighted below'
            : 'You missed ' + errors + ' fields.  They have been highlighted     below';
        $("div.error span").html(message);
        $("div.error").show();
    } else {
        $("div.error").hide();
    }           
},
});

Моя цель: когда кто-то отправляет форму без выбора даты, ему выдается сообщение с просьбой ввести дату до того, как форма будет отправлена.Если мы сможем добавить класс в div для выбора даты, тем лучше.

Спасибо за чтение

1 Ответ

0 голосов
/ 04 июня 2012

Вы используете плагин валидатора jQuery? Если это так, вы можете добавить класс в скрытое поле

<input type="hidden" class="required" id="field1" name="field1"/>

и установите для параметра проверки игнорирование на ноль, игнорирование ничего ...

$.validator.setDefaults({ ignore: '' });

( ссылка * +1008 *) и вы получите сообщение об ошибке, где скрытое поле. Если оно находится рядом с полем даты, оно будет выглядеть так, как будто в поле даты есть сообщение. Я делал это раньше в моих формах.

Надеюсь, это поможет.

...