我遇到了麻烦,试图在我想通过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