JQuery自定义验证不起作用

JQuery自定义验证不起作用,jquery,validation,handler,params,Jquery,Validation,Handler,Params,我的HTML代码是: <select class="validateCardNotExpired" id="order_credit_card_expiration_month"> <option value="1">Jan</option> <option value="2">Feb</option> .......... </select> <select class="validateCardNotExpire

我的HTML代码是:

<select class="validateCardNotExpired" id="order_credit_card_expiration_month">
<option value="1">Jan</option>
<option value="2">Feb</option>
..........
</select>

<select class="validateCardNotExpired" id="order_credit_card_expiration_year">
<option value="2012">2012</option>
<option value="2013">2013</option>
......
</select>
问题是:

当我使用(每个示例中都推荐)具有三个参数的处理程序时:

function(value, element, params)
警报没有显示(看来JQ验证引擎遇到了一些异常,顺便说一句,在这种情况下如何捕获它?)

删除第三个参数时:

function(value, element)
警报出现了

而且似乎“规则”在任何情况下都被忽略了


可能有什么问题?

我认为正确的功能使用方法如下:

jQuery.validator.addMethod("validateCardNotExpired", function(value, params, element){
        alert("validate exp");
.........
    }, 'Your card has expired.');

基本上,元素应该是函数中的第三个参数。

我认为使用函数的正确方法如下:

jQuery.validator.addMethod("validateCardNotExpired", function(value, params, element){
        alert("validate exp");
.........
    }, 'Your card has expired.');

基本上,元素应该是函数中的第三个参数。

所有问题都是因为验证插件按名称而不是id标识控件。

所有问题都是因为验证插件按名称而不是id标识控件。

需要显示所有自定义验证方法。。。。重要的部分是它返回上面缺少的内容。也发布一些表单html。规则名称必须与字段名称匹配,不确定这是您正在做的事情。需要显示所有自定义验证方法。。。。重要的部分是它返回上面缺少的内容。也发布一些表单html。规则名称必须与字段名称匹配,不确定这是您正在做的事情想象一下,我已经删除了此处理程序的任何内容,只保留了警报。在这种情况下,参数传递的顺序没有区别。实际上,(假设)异常不在该处理程序内部,而在该处理程序外部,只有参数的数量才是重要的。调用自定义处理程序的地方的jquery.validate.js摘录:var result=$.validator.methods[method]。call(this,element.value.replace(/\r/g,“”),element,rule.parameters);因此,第一个参数是value(“this”透明地进入处理程序),然后是元素和参数。在这种情况下,参数传递的顺序没有区别。实际上,(假设)异常不在该处理程序内部,而在该处理程序外部,只有参数的数量才是重要的。调用自定义处理程序的地方的jquery.validate.js摘录:var result=$.validator.methods[method]。call(this,element.value.replace(/\r/g,“”),element,rule.parameters);所以,第一个参数是value(“this”透明地进入处理程序),然后是元素和参数。您在不更改名称的情况下成功地解决了这个问题吗?我有一个例子,我们有相同名称的文本字段(映射到struts 2字符串[]),但由于这个原因,验证无法工作。您在不更改名称的情况下成功地解决了这个问题吗?我有一个例子,我们有相同名称的文本字段(映射到struts 2字符串[]),但由于这个原因,验证无法工作。