在将表单发送到服务器之前,我正在使用jQuery-Validation-Engine进行客户端检查。
我知道您可以检查以确保使用validate[equals[fieldId]]
匹配两个字段,其中fieldId
是您要匹配的字段的ID。例如,如果您想确保密码匹配,则非常有用。
现在我正在尝试找到确保字段不匹配的方法。例如,如果我想确保密码字段与用户名字段不匹配。
有没有人能够让这个工作?还有其他想法吗?
感谢。
答案 0 :(得分:2)
经过一番研究和反复试验后,我回答了自己的问题。我会发布我在这里所做的事情,所以其他需要做同样事情的人会有参考。
原来你需要创建一个新的custom function,就像添加custom regex一样。如何应用自定义正则表达式已有相当详细的文档记录,但没有太多关于如何实现自定义函数(不调用第三方函数)。
在语言文件中挖掘可以更好地了解如何处理它。
我必须创建一个自定义验证器,并在语言文件中附加一个函数(在本例中为jquery.validationEngine-en.js):
"notEqual": {
"func": function(field, rules, i, options){
return (field.val() == $('#username').val()) ? false : true;
},
"alertText": "* Username and password must be different"
},
在我的html标记中,我使用它:
<input type="hidden" name="username" value="yourPassword" id="username"/>
<input class="validate[custom[notEqual]]" type="password" name="confirmPassword" value=""/>
希望能有所帮助。
答案 1 :(得分:0)
感谢您的帮助。您也可以使用funcCall执行此操作。
在您的情况下,HTML是:
<input class="validate[funcCall[notEqual]]" type="password" name="confirmPassword" value="">
,功能是:
function notEqual(field){
if(field.val() == $('#username').val()){
return "* Username and password must be different";
}
}
当您拥有可以从其他库或代码的其他区域重复使用的验证功能时,这可能很有用。
http://posabsolute.github.io/jQuery-Validation-Engine/#validators/funccall-methodname