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

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

Password:
Confirm Password:

自定义validation方法:

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

你的代码正在运行。 使用.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 } } }); }); 

但是 ,您不需要为此function编写自定义方法。 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" } } }); }); 

你是否正确初始化了validation插件? 当我将html放在一个form然后initialize the plugin它按预期工作。

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