2010-11-16 53 views
0
$('#Date_Of_Reservation').datepicker({showAnim: 'fadeIn',minDate: twoBussinessDaysToDays(),constrainInput: true}); 

我的功能正常。圖形日曆也可以正常工作 - 使不可選日期變灰。問題是驗證。如果用戶在手動輸入日期到文本字段中時,minDate字段正在工作,則可以在minDate之前輸入日期。不會對minDate進行驗證。這個問題有沒有優雅的解決方案?JQuery UI Datepicker - 關於minDate選項的文本字段上的輸入約束?

編輯:當我在文本字段中放入內容後按下Enter時,它確實很好用。但是當我選擇或點擊其他地方時,驗證不會被觸發。

回答

1
  1. 使用validator插件,以確保有效的輸入
  2. 添加custom date範圍方法

你的情況的方法是:

$.validator.addMethod("dateRange", function(value, element) { 
    // put your own logic here something like this 
    return new Date(value) > twoBussinessDaysToDays(); 
}, 
"Please enter a valid date" 
); 

並告訴jQuery來驗證表單:

$('#myForm').validate({ 
    rules: { 
     Date_Of_Reservation: { dateRange: true } 
    } 
});