jQuery验证问题:TypeError:t.data(…)未定义

jQuery验证问题:TypeError:t.data(…)未定义,jquery,validation,jquery-validate,Jquery,Validation,Jquery Validate,我目前正在运行以下jQuery插件来验证系统中的所有表单 由于我们的html依赖于css类,因此我使用以下代码将规则应用于具有该类的所有字段。必需: $('form').each(function(){ $(this).validate(); $('.required').each(function(){ $(this).rules('add',{ required: true, messages: {

我目前正在运行以下jQuery插件来验证系统中的所有表单

由于我们的html依赖于css类,因此我使用以下代码将规则应用于具有该类的所有字段。必需:

$('form').each(function(){
    $(this).validate();
    $('.required').each(function(){
        $(this).rules('add',{
            required: true,
            messages: {
                required: "This field is required"
            }
        });
    });
});
但是,在Firefox中尝试此操作时,Firebug给了我以下错误:

       TypeError: t.data(...) is undefined
这是插件本身,而不是我的代码,尽管我相信当我的代码调用这个插件时,插件无法处理它需要执行的方式。还有其他人遇到过这个错误吗

我的表单目前是文本字段、下拉菜单和单选按钮的混合体,它们都具有相同的.required类。不幸的是,我无法更改HTML,因为它是动态的,并且内置在我们的底层系统中(因此它是使用PL/SQL过程生成的)

不幸的是,我不能发布一个链接到有问题的表单,因为我们的系统会要求您登录,但是如果上面的代码不足以继续,我可以尝试复制它

任何帮助都将不胜感激

亲切问候,

杰森·埃斯宾

编辑:

如果有帮助,插件代码是从这里热链接的,我没有对其进行任何修改:

   <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
   <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.min.js"></script>

您的每个函数都是冗余的,就好像该字段有一个“required”类,它将把required方法作为类规则应用于该字段,默认消息是“this field is required”

$('form').each(function(){
    $(this).validate();
    //$('.required').each(function(){
    //    $(this).rules('add',{
    //        required: true,
    //        messages: {
    //            required: "This field is required"
    //        }
    //    });
    //});
});
通过在浏览器控制台中运行以下命令,可以验证“必需”规则是否仍应用于字段:

$('#fieldtotest').rules();

您的每个函数都是冗余的,就好像该字段有一个“required”类,它将把required方法作为类规则应用于该字段,默认消息是“this field is required”

$('form').each(function(){
    $(this).validate();
    //$('.required').each(function(){
    //    $(this).rules('add',{
    //        required: true,
    //        messages: {
    //            required: "This field is required"
    //        }
    //    });
    //});
});
通过在浏览器控制台中运行以下命令,可以验证“必需”规则是否仍应用于字段:

$('#fieldtotest').rules();

太好了,谢谢。如果它在插件的站点上指定了这一点,那就太好了。太好了,谢谢。如果它在插件的站点上指定了这一点,那就太好了。