2012-03-21 126 views
0

我有一個使用數據註釋驗證的MVC應用程序。我也有按鈕提交一些手動jQuery驗證。我希望提交按鈕隱藏,當我的jQuery驗證已通過並由框架實施的不顯眼的驗證通過。MVC 3 dataannotations驗證使用自定義jQuery驗證

這是我的代碼:即使在形式發佈

$('#btnSubmit').click(function() { 
    if (!$('#Terms').is(':checked')) { 
     $('.termsLabel').animate({ color: "#c71040" }, 'slow'); 
     $('.termsLabel a').animate({ color: "#c71040" }, 'slow'); 
     return false; 
    } 

    if ($('.wordCount').hasClass('error')) { 
     $('.caption label').animate({ color: "#c71040" }, 'slow'); 
     return false; 
    } 

    if ($(form).valid()) { 
     $('#btnSubmit').hide(); 
     $('#submitting').show(); 
    } 

}); 

的(形式).valid()方法似乎總是返回false(並且從不執​​行隱藏/顯示)。

我這樣做的原因是我允許用戶上傳圖片,我不希望用戶能夠點擊多次。

任何幫助 - 讚賞。

+0

表單定義在哪裏? $(表單)似乎不正確。 – 2012-03-21 03:11:23

回答

1

我會回答我自己的問題。

在形式:

@using (Html.BeginForm("MyAction", "MyController", FormMethod.Post, new { @ID = "MyForm" })) 

然後:

$('#MyForm').validate(); 

    if ($('#MyForm').valid()) { 
     $('#btnSubmit').hide(); 
     $('#submitting').show(); 
    } 

問題是我沒有給我的表單的名稱,並沒有叫.validate()