0

我在使用 JQuery 验证器时遇到以下问题:我有一个表单,我在其中使用提供的默认验证规则,并且一切正常。但是,一旦我添加了自定义验证,就会引发以下错误:

  1. 在 Chrome 中:未捕获的 TypeError:无法调用未定义的方法“addMethod”
  2. 在 IE8 中:'validator' 为 null 或不是对象
  3. FireFox:没有错误信息,但 JQuery 默认验证逻辑中断;

导致错误发生的代码是这样的(它位于 ready 函数内):

$().validator.addMethod("defaultInvalid", 
   function(value, element) {   
    alert("validate");
   }
 );

如您所见,我已对回调函数的大部分代码进行了注释,以消除任何其他错误。如果我发表评论,一切都会恢复正常。但是,我想在文本框上使用这个自定义规则,它必须具有默认值“名字”,并且在提交时它不应该允许用户发送“名字”作为值。

4

1 回答 1

0

看着这个,验证器不会被发现,因为它在里面看$()。您只需要使用$.validator.addMeth....哪个进入默认的 jquery 对象。

像这样:

$.validator.addMethod("defaultInvalid", 
   function(value, element) {   
    alert("validate");
});

或者你用来访问 Jquery 对象的任何东西

JQuery.validator.addMethod("defaultInvalid", 
   function(value, element) {   
    alert("validate");
});
于 2013-01-31T13:14:51.430 回答