2010-05-21 22 views
1

我有一個需要日期值的表單中的輸入字段。我使用日曆的jQuery UI的日期選擇器,我爲它設置了一個範圍。但是,用戶可以通過在輸入字段中鍵入不同的日期來覆蓋該日期。我如何使用jQuery驗證爲字段指定日期範圍?我用jQuery看到的只是你只能指定該字段是日期類型。我可以創建適用於日期的最小值和最大值?我需要在jquery中添加日期輸入字段的範圍

回答

2

修訂

在性反應的評論

...

我能想象這樣的任務的方法很多,如通過檢查這樣startDate < myDate && myDate < endDate觀察按鍵事件,通過做正則表達式等。

但非常簡單和有效的方法是簡單地使用<input/>readonly屬性,因此具有這樣的sinple輸入:

<input type="text" name="dateRange" readonly="readonly" maxlength="10" /> 

你確信沒有一個可以把日期,但如果他們使用日期選擇器

就是這樣! ;-)


樣子究竟是什麼的minDate的maxDate

演示:

$("#datepicker").datepicker({minDate: -20, maxDate: '+1M +10D'}); 

的minDate:通過一組最小可選日期 日期對象或中的字符串當前的日期格式,或從今天起的多個 天(例如, +7)或字符串 的值和期間('y'多年, 'm'數月,'w'數週,'d'爲 天,例如'-1y -1m'),或者爲null沒有 限制。


的maxDate:經由Date對象或作爲當前DATEFORMAT字符串 ,或從數天的數 設置最大可選日期今天(例如+7)或 字符串值和期間('y'爲 年,'m'爲幾個月,'w'爲幾周, 'd'幾天,例如, '+ 1m + 1w'),或者爲無限制的 。

+0

我我已經在日期選擇器中得到了這個,但是除非我做錯了什麼,否則用戶可以通過直接輸入來覆蓋它n輸入字段本身。那就是我想要設置的範圍。 – user338413 2010-05-21 14:21:45

+0

現在我明白了! ;-)查看更新! – 2010-05-21 19:00:09

0

你只需要添加一個設置日期選擇器,使其因此他們不能編輯文本字段:

$(".selector").datepicker({ constrainInput: true }); 

jQuery UI Documentation

+0

這不起作用。 constrainInput仍然允許輸入字段中的有效字符。這意味着我可以改變一年。 – user338413 2010-05-21 15:51:38

相關問題