2011-10-20 68 views
0

這是一個真正令人尷尬的問題。我有一個驗證腳本問題,我不知道爲什麼。 Firebug告訴我jquery被加載,validation.js被加載,jquery UI被加載並且一切正常。該腳本是一個包含js的頁面上,並加載(做同樣的事情,如果對PHP文件中的腳本或包括jQuery的1.6.4Jquery驗證腳本錯誤

我從螢火蟲得到的錯誤是:。 缺少}屬性後,名單張貼:{

的}顯然是在那裏我能找到什麼ebfore它或之後,將導致此問題腳本看起來完美的圖片給我

$(function(){    
    $("#postform").validate({ 
    rules: { 
     title:{ 
      required: true, 
      minlength: 8, 
      maxlength: 200 
     } 
     post:{ 
      required: true, 
      minlength: 35 
     } 
     category: { 
      required: true 
     } 

     date:{ 
      date: true, 
      required: true 
     } 
     author: { 
      required: true, 
      minlength: 6, 
      maxlength: 35 
     } 
    },   
    messages:{ 
     title:{ 
      required: "Required input", 
      minlength: jQuery.format("At least {8} characters are necessary"), 
      maxlength: jQuery.format("No more than {200} characters") 
     } 
     post:{ 
      required: "Required input", 
      minlength: jQuery.format("At least {35} characters are necessary") 
     } 
     category: "Please choose a value from the dropdown", 

     date: "A date is required", 

     author: { 
      required: "this field is required", 
      maxlength: jQuery.format("No more than {36} characters"), 
      minlength: jQuery.format("At least {5} characters are necessary") 
     } 

    } 
});   
}); 

我使用Ajax來處理。形式,但在我看來驗證首先來,這應該不重要,我知道噸工作。

我還會說,在此之前我有一個不同的設置(在每個名稱上添加規則),表單會驗證,但是即使無效字段無效,仍然會向數據庫發佈。

有什麼想法?我已經在這2天了。希望有人以前

回答

1

修復這樣的例子看到了這一點:

title:{ 
     required: true, 
     minlength: 8, 
     maxlength: 200 
    }***,*** 
    post:{ 
     required: true, 
     minlength: 35 
    } 
+0

那奇怪的一部分。我將逗號一直添加到目前爲止,然後它回到相同的原始錯誤:(當我將逗號添加到標題時,錯誤向下移到了類別中。我確實刪除了您作爲逗號移除的逗號以及 – Brad

+0

你還在「messages」部分添加了逗號嗎?(標題{},帖子{},類別{}) –

+1

不,但我現在就要 – Brad

1

你缺少了一堆逗號,正好如下....

$("#postform").validate({ 
    rules: { 
     title:{ 
      required: true, 
      minlength: 8, 
      maxlength: 200 
     }, 
     post:{ 
      required: true, 
      minlength: 35 
     }, 
     category: { 
      required: true 
     }, 

     date:{ 
      date: true, 
      required: true 
     }, 
     author: { 
      required: true, 
      minlength: 6, 
      maxlength: 35 
     } 
    },   
    messages:{ 
     title:{ 
      required: "Required input", 
      minlength: jQuery.format("At least {8} characters are necessary"), 
      maxlength: jQuery.format("No more than {200} characters") 
     }, 
     post:{ 
      required: "Required input", 
      minlength: jQuery.format("At least {35} characters are necessary") 
     }, 
     category: "Please choose a value from the dropdown", 

     date: "A date is required", 

     author: { 
      required: "this field is required", 
      maxlength: jQuery.format("No more than {36} characters"), 
      minlength: jQuery.format("At least {5} characters are necessary") 
     } 
    } 
    }); 
+0

修正了這個問題,謝謝你們兩位。不介意我把這個交給alon,你們兩個都是對的,alon的號碼較低 – Brad

+0

現在是真正有趣的部分,即使沒有錯誤,表單也沒有驗證,它通過ajax發送並直接發送給DB空字段,我會弄清楚,我注意到在表單開始標記它說:「novalidate =」novalidate「」 – Brad

+0

@Brad,發佈一個新的問題,爲您的新驗證問題。也許我可以幫助...順便說一句,我一直在搞這個插件:你應該爲未來的讀者選擇「最好」的答案,而不是由誰擁有最低的代表。畢竟,我花時間格式化整個代碼塊,以消除可能存在的問題。 – Sparky