Ajax呼び出しを介してデータを送信したいフォームにMSJQuery検証を適用しようとすると問題が発生します。DataAnnotationsとMicrosoftMvcJQueryValidation.jsライブラリを使用して、クライアント側とサーバー側の検証を実行しています。
サーバーの検証はうまく機能し、クライアントの検証を有効にしようとしています。
<% 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-callは実行されず、フォームはポストバックを介して送信されます。
jQuery.validateライブラリを変更せずにそれらを連携させる方法はありますか?
出来ますか?私はこれに間違ったアプローチを使用していますか?
前もって感謝します