使用jQuery Validation插件的自定义方法

Sha*_*mar 5 jquery jquery-validate

我试图在Jquery中使用自定义验证.所有的编码部分都是正确的,但我没有得到它出错的地方......这是代码的一部分.

Password:<input type="password" id="pnameTxt" name="pnameTxt" placeholder="Enter Password" size=12 class='required'><br>
Confirm Password:<input type="password" id="pnameTxt2" name="pnameTxt2" placeholder="Retype Password" size=15 class='required passwordCheck'><br>
Run Code Online (Sandbox Code Playgroud)

自定义验证方法:

 $.validator.addMethod("passwordCheck",function (value,element){
          return value==$("#pnameTxt").val(); 

        }, 'Password and Confirm Password should be same');
Run Code Online (Sandbox Code Playgroud)

Spa*_*rky 34

你的代码正在运行.使用初始化插件时,还必须将规则分配给字段.validate().

工作演示:http: //jsfiddle.net/KrLkF/

$(document).ready(function () {

    $.validator.addMethod("passwordCheck", function (value, element) {
        return value == $("#pnameTxt").val();
    }, 'Password and Confirm Password should be same');

    $('#myform').validate({ // initialize the plugin
        rules: {
            pnameTxt2: {
                passwordCheck: true
            }
        }
    });

});
Run Code Online (Sandbox Code Playgroud)

但是,您不需要为此功能编写自定义方法.jQuery Validate插件已有equalTo规则,以下是如何使用它.

工作演示:http: //jsfiddle.net/tdhHt/

$(document).ready(function () {

    $('#myform').validate({ // initialize the plugin
        rules: {
            pnameTxt2: {
                equalTo: "#pnameTxt" // using `id` of the other field
            }
        },
        messages: {
            pnameTxt2: {
                equalTo: "Password and Confirm Password should be same"
            }
        }
    });

});
Run Code Online (Sandbox Code Playgroud)


Mar*_*der 1

您是否正确初始化了验证插件?当我将 html 放入 a 中form时,initialize the plugin它会按预期工作。

<form id="test">
Password:<input type="password" id="pnameTxt" name="pnameTxt" placeholder="Enter Password" size=12 class='required'><br>
Confirm Password:<input type="password" id="pnameTxt2" name="pnameTxt2" placeholder="Retype Password" size=15 class='required passwordCheck'><br>
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
<form id="test">
Password:<input type="password" id="pnameTxt" name="pnameTxt" placeholder="Enter Password" size=12 class='required'><br>
Confirm Password:<input type="password" id="pnameTxt2" name="pnameTxt2" placeholder="Retype Password" size=15 class='required passwordCheck'><br>
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)