2013-01-31 136 views
0

我面對以下問題與JQuery驗證程序: 我有一個表單,我使用的默認驗證規則提供,一切工作正常。 Howoever,只要我添加了一個自定義的驗證,下面的錯誤被拋出:JQuery自定義驗證錯誤

  1. 在Chrome:遺漏的類型錯誤:無法調用未定義
  2. 法「addMethod」在IE8:「驗證」爲空或不是對象
  3. FireFox中:沒有錯誤消息,但JQuery的默認驗證邏輯場所;

的一塊,這是造成錯誤發生的代碼是這樣(它位於就緒函數內部):

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

正如你看到的我評論的大部分回調函數的代碼中爲了消除任何其他錯誤。 如果我評論它,一切恢復正常。 但是,我想在文本框上使用此自定義規則,必須具有「名字」的默認值,並在提交時不應允許用戶發送「名字」作爲值。

回答

0

看着這個,驗證器將不會被發現,因爲它正在尋找$()。您需要只使用其中$.validator.addMeth....進入默認的jQuery對象。

像這樣:

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

不管你用它來訪問jQuery對象

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

非常感謝你爲這個,說實話我不知道那。我在網上看到的很多例子都包含這個錯誤。 –

+0

沒問題,過去幾天我一直在使用這個插件,所以它在我頭腦中是新鮮的;-) – Stokedout

+0

@Stokedout,我有正確的語法,但仍然出現錯誤。火狐說:'$ .validator'是不確定的和Chrome說一樣這個問題。有什麼想法嗎? – hima