jquery自定义方法问题,

jquery自定义方法问题,,jquery,validation,Jquery,Validation,我在表单中添加了验证码,我想验证此字段 jQuery.validator.addMethod("matchCaptcha", function(value,element) { return this.optional(element) || value == '#request.strCaptcha#'; }); #request.strCaptcha#此部分仅返回类似“cZk9ljW”的字母数字字符 根据规则,我补充说: captcha : { matchCaptcha : t

我在表单中添加了验证码,我想验证此字段

jQuery.validator.addMethod("matchCaptcha", function(value,element)  {
    return  this.optional(element) || value == '#request.strCaptcha#';
});
#request.strCaptcha#
此部分仅返回类似“cZk9ljW”的字母数字字符

根据规则,我补充说:

captcha : { matchCaptcha : true }

验证没有运行,我从脚本中没有得到任何错误。我做错了什么?谢谢

你发布的所有内容听起来都很好,这可能意味着你还没有发布

  • 您正在
    $(文档)中执行
    addMethod
    。ready()
    ,对吗
  • 您是否在验证函数中运行了debug
    alert()
    ,以验证它是否实际没有运行,而不是运行并始终返回true
  • 验证码文本区域的输入名称是
    captcha
    ,是吗

  • 如果您确实添加了一个
    alert()
    并发现正在调用验证方法,那么我的建议是删除
    this.optional(element)|
    部分。我不认为你希望你的验证码是可选的。

    这一个有点棘手。我用的是ColdFusion。我创建了一个自定义标记来创建和显示验证码。在自定义标记调用之后,我删除了jQuery.validator.addMethod to。然后我去掉了这个。可选(元素)| |部分。此外,还必须添加另一个$().ready(function(){…})

    所以,它看起来像:

    $().ready(函数()){ jQuery.validator.addMethod(“matchCaptcha”,函数(值,元素){ 返回值=='#请求.strCaptcha#'; }); }); 我在验证规则中仍然有验证码:{matchCaptcha:true}。谢谢你的提醒