2013-05-31 92 views
1

我目前運行以下jQuery插件來驗證我們的系統中的所有表單。問題與jQuery驗證:TypeError:t.data(...)未定義

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" 
      } 
     }); 
    }); 
}); 

然而,在嘗試這種時候火狐,螢火蟲給我以下錯誤:

 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> 

回答

3

你的每個函數都是多餘的,就好像字段有一個「required」類一樣,它會將所需的方法作爲類規則應用到它,並且默認消息是'this字段是必須的」

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

可以驗證‘必要’的規則在瀏覽器控制檯中運行這仍是應用到你的領域:

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

很好,謝謝。如果它在插件的網站上指定,會很好。 – jezzipin

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