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

时间:2013-05-31 15:30:14

标签: jquery validation jquery-validate

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

http://jqueryvalidation.org/

由于我们的html依赖于css类,我使用以下代码将规则应用于具有类.required的所有字段:

$('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>

2 个答案:

答案 0 :(得分:3)

您的每个函数都是多余的,就好像该字段有一个“必需”类,它将所需的方法作为类规则应用于它,默认消息是“此字段是必需的”

$('form').each(function(){
    $(this).validate();
    //$('.required').each(function(){
    //    $(this).rules('add',{
    //        required: true,
    //        messages: {
    //            required: "This field is required"
    //        }
    //    });
    //});
});

您可以通过在浏览器控制台中运行此选项来验证“必需”规则是否仍适用于您的字段:

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

答案 1 :(得分:-1)

$(document).ready(function () {
    $('#mytable').dataTable({
        "processing": true,
        "serverSide": true,
        "ajax": "jsond",
        "columns": [
            {"userList": "userId"},
            {"userList": "user_name"},
            {"userList": "age"}
        ]
    });
});