使用jquery验证验证内联jquery Datepicker

时间:2011-10-28 02:59:07

标签: jquery jquery-validate jquery-ui-datepicker

我正在尝试确保使用我的内联日期选择器选择了日期。内联日期选择器提供了一个隐藏的输入框,因此很难要求它。为了尝试显示消息,我使用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 :(得分:0)

您使用的是jQuery验证器插件吗?如果是这样,您可以将类添加到隐藏字段

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

并将validator选项ignore设置为null,忽略任何内容......

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

reference) 并且你会得到一个错误消息,其中隐藏字段是。如果它在日期字段附近,则看起来日期字段具有msg。我以前在表格中做过这个。

希望这有帮助。