2014-02-06 104 views
0

http://jsfiddle.net/sK9tL/1/jQuery .validate規則似乎沒有應用? (的jsfiddle)

當我手動添加規則()「在我的表單頁面上的控制檯,它似乎證實了預期。

我不確定我的格式化方式是否有問題?

$('#freeFormAdd').validate({ 
     rules:{ 
      freeFormName: { 
       required: true, 
      }, 
      freeFormPrice: { 
       required: true, 
      }, 
      freeFormQty: { 
       required: true, 
      } 
     } 
    }); 

然後我使用.valid()來確定表單是否準備好提交。由於該頁面是「無縫的」,我不需要提交表單,只需將一些項目添加到購物車(在jsfiddle中註釋掉)即可。

有什麼建議嗎?

+1

請包含足夠的代碼來複制問題。沒有看你的jsFiddle,這個問題是不可能回答的。包含演示鏈接總是可以的,但問題必須完全「自包含」,而不要依賴外部鏈接。 – Sparky

回答

2

你的表單元素應該有name屬性不id屬性,驗證選擇基於他們name屬性的元素。此外,而不是聽點擊事件,您可以使用submitHandler方法:

$('#freeFormAdd').validate({ 
    rules: { 
     freeFormName: { 
      required: true, 
     }, 
     freeFormPrice: { 
      required: true, 
     }, 
     freeFormQty: { 
      required: true, 
     } 
    }, 
    submitHandler: function() { 
     alert('the form is valid'); 
    } 
}); 

請注意,我提出的按鈕form元素的背景下,因此觸發提交事件。

http://jsfiddle.net/QU3XM/

+0

WOW。我現在覺得自己完全沒有辦法了。我肯定會和SubmitHandler一起玩,但是現在驗證是一個事後纔想到的,當按下按鈕時會調用更多的代碼。添加'name'而不是'id'來修復它。 – user2733971