解决方法
问题是缺乏具体细节,但我认为你的意思是在客户端进行验证,因为你明确提到了auto complete插件.这个答案将分为两部分.第一个是原始答案,假设一个自动完成插件.第二个是根据问题的更新进行修订.
1)使用http://docs.jquery.com/Plugins/Autocomplete
对此最好的解决方案是“mustMatch”选项.这是API documentation.
If set to true,the autocompleter will only allow results that are presented by the backend. Note that illegal values result in an empty input Box.
您应该能够以这种方式使用它:
$("selector").autocomplete("url",{"mustMatch": true});
您还可以在“result”事件中以某种方式验证用户输入.这是一个链接:http://docs.jquery.com/Plugins/Autocomplete/result.
2)使用http://jqueryui.com/demos/autocomplete
这里没有mustMatch选项.您可以扩展插件,或者您可以添加类似于我为其他自动完成插件提到的内容.使用“change”事件.
$( ".selector" ).autocomplete({ change: function(event,ui) { ... } });
如果您使用数组作为数据源,这将更有效.由于您使用的是远程数据源,因此需要使用ui.item进行另一个最终查询以验证用户值.然后,您可以允许或拒绝默认行为.
在任何一种情况下,仍应在服务器端以某种方式验证输入.这超出了jQuery插件的范围.