我目前正在使用此插件执行实时表单验证 GeekTantra
这很有效,并且正在验证我的所有表单字段。
我试图查看输入到字段中的用户名是否与数组中的值匹配,如果确实返回了用户名,则该用户名已经在使用中'信息。使用PHP收集数据,转换为小写,然后写入jquery数组。
使用console.log(username)
检查该数组显示:
["bob", "brian", "charlie", "mike", "dave", "simon", "lincoln", "reg", "bill"]
我使用的规则是:
jQuery("#name").validate({
expression: "if ($.inArray(VAL.toLowerCase(), username)!==-1) return true; else return false;",
message: "username is already in use"
});
然而,我似乎永远不会得到预期的结果。查看数组我可以看到reg正在使用中,但是如果我在表单字段中输入REG或reg等,它就不匹配数组。如果我进入菲尔,那么我会被告知它正在使用中,当它没有。
我做错了什么?
由于
更新
这有用......为什么?
expression: "if ($.inArray(VAL.toLowerCase(), username)<=-1) return true; else return false;",
答案 0 :(得分:0)
我认为这是一个语法错误
尝试更改=&gt;
这 -
if($ .inArray(VAL.toLowerCase(),username)!== - 1)
要---
if($ .inArray(VAL.toLowerCase(),username)!= - 1)
答案 1 :(得分:0)
username
似乎不在表达式的范围内。您可以执行document.username = username
并在表达式中使用document.username。