我目前正在运行以下jQuery插件来验证我们系统中的所有表单。
由于我们的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>
答案 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"}
]
});
});