Jquery Validator – 根据接受的值列表检查输入

我通常只使用下拉列表执行此操作,但客户端已请求它是文本输入…

基本上,我想使用Jqueryvalidation器来检查用户是否在文本输入框中输入了50个有效美国州缩写中的1个。 如果没有,他们会收到错误。 我似乎找不到这样做的function。 任何帮助是极大的赞赏!

这是一个可以添加用于jquery validate的validation方法

首先,您声明一个validation器:

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"); 

然后应用validation器

 $("#myform").validate() 

并在您的表单中,您要将类添加到表单元素以进行检查

  

这是一个有效的演示

您可以使用change()侦听器 ,它只根据有效输入字符串列表检查输入,并且只有匹配时才启用提交按钮。

无论如何。 对于用户体验,最好显示所有可能状态的下拉选择器列表。 当我提出你的问题时,至少这是我首先想到的。

问候,

克里斯

这是一个脏的快速解决方案:

http://jsfiddle.net/naveed_ahmad/CqXZu/1/