jquery検証を使用してインラインjquery Datepickerを検証する

私は、インラインのdatepickerを使用して日付が選択されていることを保証しようとしています。インラインの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にクラスを追加することができれば、より良い結果が得られます。

読んでくれてありがとう

0

1 答え

jQueryバリデータプラグインを使用していますか?もしそうなら、隠しフィールドにクラスを追加することができます

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

バリデーターオプションignoreをnullに設定し、何も無視します...

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

参照) 隠しフィールドがどこにあるかをエラーメッセージにします。日付フィールドの近くにある場合は、日付フィールドにmsgがあるように見えます。以前私のフォームでこれをやったことがあります。

お役に立てれば。

0
追加された