2012-11-22 108 views
0

我使用jQuery datepicker和dpDate插件來驗證輸入。 我希望在年份不是4位數時驗證失敗。 (當有人用鍵盤輸入日期時,這似乎是可能的)。全年驗證jQuery datepicker dpDate

dpDate在80-01-01(1980年1月1日)上返回true。 但它應該用戶強制寫它像1980-01-01

任何人都可以幫助我嗎?

回答

0

該插件的名稱是jquery.ui.datepicker.validation.js; dpDate是它定義的新驗證方法之一。對於其他讀者的利益,可以發現在:

http://keith-wood.name/uiDatepickerValidation.html

此方法使用指定的日期格式只是使用$.datepicker.parseDate - 如果它不報告錯誤,則認爲輸入有效。由於parseDate允許縮寫年份,插件也是如此。

而是,您可以使用正則表達式/^\d{4}-\d{2}-\d{2}$/;這個問題顯示瞭如何添加一個regex驗證方法。如果將它與dpDate方法結合使用,它將檢查它是否有4位數字,並且它也是有效的日期。

jQuery validate: How to add a rule for regular expression validation?

我在我的應用程序做的是有點不同。我只是不允許用戶直接編輯日期字段。我將它設置爲readonly,但這仍然允許日期選擇器填寫。由於日期選擇器始終輸入4位數年份,因此我不必擔心驗證它。