2011-02-26 37 views
0

基本上我試圖解決簡單的問題,如果我的表單驗證正確,我想基本上顯示一個覆蓋屏幕上,然後再發布到服務器。MVC 3:如何獲得事件,如果表格驗證正確,並會發布

我一直認爲這很容易,我只是想念一些東西。

從下面的例子(不是可編譯代碼)有沒有一種方法可以使用客戶端驗證提供,或者我基本上需要使用直接jQuery驗證來處理客戶端,然後提交?

public class UserViewModel 
{ 
    [DisplayName("First Name")] 
    [Required(ErrorMessage = "First Name is required")] 
    public string FirstName { get; set; } 

    [Required(ErrorMessage = "Last Name is required.")] 
    [DisplayName("Last Name")] 
    public string LastName { get; set; } 
} 

//的Html

@Html.BeginForm("Foo", "Bar") 
{ 
    <div class="grid_2"> 
    @Html.LabelFor(m => m.PaymentDetails.FirstName) 
    </div> 
    <div class="grid_3"> 
    <%=Html.TextBoxFor(m => m.PaymentDetails.FirstName)%> 
    </div> 
    <div class="grid_2"> 
    @Html.LabelFor(m => m.PaymentDetails.LastName) 
    </div> 
    <div class="grid_3"> 
    <%=Html.TextBoxFor(m => m.PaymentDetails.LastName)%> 
    </div> 

    <input type="submit" id="submitButton" value="SUBMIT" style="float: left;" /> 
} 

謝謝!

回答

0

用jQuery連接提交處理程序,然後檢查表單是否在其中有效。

$('#form').submit(function(e) { 
    if ($(this).valid()) { 
     //Do your stuff here 
    }  
}); 
+0

這就是所需要的。不幸的是,當我最初嘗試它時,由於另一個問題,我們意外地將UnobtrusiveJavaScriptEnabled設置爲false。一旦我們將其設定爲真,我們就很好。謝謝 – otoro 2011-02-28 04:23:33