列表我通常只是做這一個下拉列表,但客戶端請求,這是一個文本輸入...jQuery的驗證 - 檢查輸入違反公認的價值
基本上,我想使用Jquery驗證器檢查用戶是否已將50個有效的美國州名縮寫中的1個輸入到文本輸入框中。如果不是,他們會得到一個錯誤。我似乎無法找到這樣做的功能。任何幫助是極大的讚賞!
列表我通常只是做這一個下拉列表,但客戶端請求,這是一個文本輸入...jQuery的驗證 - 檢查輸入違反公認的價值
基本上,我想使用Jquery驗證器檢查用戶是否已將50個有效的美國州名縮寫中的1個輸入到文本輸入框中。如果不是,他們會得到一個錯誤。我似乎無法找到這樣做的功能。任何幫助是極大的讚賞!
這裏是你聲明驗證方法,你可以用jquery validate
首先添加使用驗證者:
jQuery.validator.addMethod("isstate", function(value) {
var states = [
"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA",
"HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD",
"MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ",
"NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC",
"SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY",
"AS", "DC", "FM", "GU", "MH", "MP", "PR", "PW", "VI"
];
return $.inArray(value.toUpperCase(), states) != -1;
}, "Data provided is not a valid state");
然後應用要將該類添加到表單元素檢查
<input type="text" value="de" class="isstate" />
這裏有一個working demo
您可以使用change() listener,它只是根據有效輸入字符串列表檢查輸入,並且只有在匹配時才啓用提交按鈕。
反正。對於用戶體驗,最好顯示包含所有可能狀態的下拉列表。至少這是我首先想到的,當我回答你的問題時。
問候,
克里斯
這裏是一個骯髒的快速解決方案:
Mcgrailm驗證
和表單,謝謝!這正是我正在尋找的,但我在我的FireFox錯誤控制檯中得到這個:錯誤:states.toUpperCase不是一個函數。 – Paul 2011-04-17 23:40:36
對不起,這是值得去作爲價值是一個字符串,需要大寫,以檢查它的數組我認爲它是大小寫無論如何 – mcgrailm 2011-04-17 23:45:02
@保羅請讓我知道,如果這對你有用 – mcgrailm 2011-04-17 23:56:21