我遇到了麻煩,試圖在我想通過Ajax調用提交數據的表單中應用MS JQuery驗證。我使用DataAnnotations和MicrosoftMvcJQueryValidation.js庫來執行客戶端和服務器端驗證。結合MicrosoftMvcJQueryValidation和Ajax提交
服務器驗證的偉大工程,我試圖通過
<% Html.EnableClientValidation(); %>
<%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %>
<div id="formContainer">
<% using(Html.BeginForm()){ %>
<table class="formTable" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><label for="Description">Description:</label></td>
<td><%= Html.TextBox("Description", Model.Description) %>
<%= Html.ValidationMessage("Description", "*") %></td>
</tr>
<tr>
<td> </td>
<td>
<%=Html.Button("cancelBtn","Cancel")%>
<input id='createBtn' class='button' type='button' value='Create' />
</td>
</tr>
</table>
<% } %>
</div>
onclick事件平均以啓用客戶端驗證,然後通過自定義的Ajax調用管理。在我的網頁源我可以看到部分
//<![CDATA[EnableClientValidation(...)]
但我想實際的Ajax調用之前驗證數據。
在相反通過使用提交輸入和
inputCreate.submit(function() {$.ajax...});
進行客戶端驗證,但不執行AJAX調用,形式是通過回發提交。
有什麼辦法可以讓它們一起工作而不用改變jQuery.validate庫嗎?
可能嗎?我對此採用了錯誤的方法嗎?
在此先感謝
絕對有幫助,謝謝。我討厭編輯MicrosoftMvcJQueryValidation.js,但現在我終於可以通過DataAnnotations來使用客戶端驗證,而無需依賴Ajax.BeginForm()方法,而無需使用所有額外的MicrosoftAjax處理程序。 – kdawg 2010-07-29 14:34:54