2012-10-21 33 views
2

我建立一個企業網站後臺數據庫,用戶界面,並且有一定的形式,其中包括一對夫婦的日期字段的干擾。我在他們上使用jQueryUI日期選擇器(dateFormat:'dd/mm/yyyy'),但也可以在輸入字段中輸入日期,所以我也想驗證輸入(我知道還有另一個插件驗證datepicker字段,但我想避免引入更多的插件是可能的)。的jQuery插件生效日期格式:日期dateITA

我一直在研究周圍的Chrome瀏覽器的區域設置問題的工作,並認爲我有一個解決,但我也有,我還沒有看到任何其他帖子中提到的一個不同的問題。

我的客戶是最有可能會使用Chrome訪問此不驗證這種格式的日期,所以我用dateITA從自帶的驗證插件的附加-methods.js文件。

function validate_newjob() { 
$('#newjob').validate({ 
     rules: { 
      DueDate: { 
       required: true, 
       dateITA: true 
      } 
     }, 
     messages: { 
      DueDate: { 
       required: "* Required", 
       dateITA: "Date format dd/mm/yyyy" 
      } 
     }, 
     errorClass: "formerror", 
     errorElement: "span", 
     errorPlacement: function(error, element) { 
      $(element).next().after(error); 
     } 
    }); 
} 

這工作正常。當日期錯誤時,使用我的消息「日期格式dd/mm/yyyy」驗證日期。

例:I開始輸入8/8/2012並且當我完成鍵入字段成功驗證日期作爲I型顯示「日期格式爲dd /月/年」,則錯誤消息。

但一些奇怪的事情也發生了。如果我開始鍵入日期,如2012年12月18日內置日期:真正的驗證方法將啓動併發出默認錯誤「請輸入有效日期。」 (因爲18天的值不通過驗證腳本)

當使用dateITA附加的方法,我該如何阻止驗證領域,給了我一個假陰性的默認日期的方法?

回答

5

回答我自己的問題......

我有一類=「日期」分配給出現自動觸發日期方法的場(只是我的CSS)。

+0

準確無誤 - jQuery Validate檢查分配給表單中輸入的所有類,並且如果存在驗證方法,請對其進行設置。所以'class =「required」'也可以工作。 – Ryley

0
rules: { 
      DueDate: { 
       required: true, 
       date:false, 
       dateITA: true 
      } 
     },