2011-10-28 76 views
0

我試圖確保使用內聯datepicker選擇了一個日期。內聯datepicker提供了一個隱藏的輸入框,所以很難要求這樣做。要嘗試顯示消息,我使用invalidHandler重定位了我的錯誤消息。使用jquery驗證驗證內聯jquery Datepicker

我的代碼:

<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

您是否使用jQuery驗證器插件?如果是這樣,你可以添加一個類的隱藏字段

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

,並設置驗證選項忽略爲null,忽略什麼...

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

reference) ,你會得到一個錯誤msg隱藏字段的位置。如果它靠近日期字段,它將看起來像日期字段有味精。我之前用我的形式做過這個。

希望這會有所幫助。