0

在将表单发送到服务器之前,我正在使用jQuery-Validation-Engine进行一些客户端检查。

我知道您可以检查以确保两个字段匹配,使用validate[equals[fieldId]]wherefieldId是您要匹配的字段的 id。例如,如果您想确保密码匹配,这很有用。

现在我正试图找到一种方法来确保字段匹配。例如,如果我想确保密码字段与用户名字段不匹配。

有没有人能让这个工作?还有其他想法吗?

谢谢。

4

2 回答 2

2

经过一些研究和反复试验,我回答了我自己的问题。我将在这里发布我所做的事情,以便其他需要做同样事情的人有参考。

事实证明,您需要以与添加自定义 regex相同的方式创建一个新的自定义函数。如何应用自定义正则表达式已得到很好的记录,但是关于如何实现自定义函数(不调用第 3 方函数)的内容并不多。

深入研究语言文件可以更好地了解如何处理它。

我必须创建一个自定义验证器,并在语言文件中附加一个函数(在本例中为 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=""/>

希望对某人有所帮助。

于 2013-02-22T17:30:38.797 回答
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

于 2013-10-09T16:24:15.767 回答