سؤال
أنا أستخدم ajax.beginform لتقديم نموذج ANS XVAL لفرض التحقق من الصحة
المشكلة التي يتم تقديم طلب Ajax Post حتى عندما يكون للنموذج أخطاء عليه. أعلم أن التحقق من صحة من جانب العميل يعمل ، لأنه يعرض رسائل خطأ مناسبة وما لا ، ولكن لماذا يعتقد أنه من الجيد جعل طلب AJAX على أي حال هو شيء لا أفهمه.
حتى أنني حاولت وضع causesvalidation = true
داخل علامة التبويب إرسال ، ولكن لا يزال يتم تقديم النموذج.
<% using (Ajax.BeginForm("SuggestTemp", new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "Result" }))
{%>
<table>
<tr>
<td style="text-align:right">
Title
</td>
<td>
<%= Html.TextBox("Upload.Title")%>
<%= Html.V
alidationMessage("Upload.Title")%>
</td>
</tr> <tr><td><%=Html.ClientSideValidation<Upload>("Upload") %></td><td></td></tr>
<tr><td></td><td><input type = "submit" causesvalidation = "true" value = "Suggest " class = "btn"/></td></tr>
</table>
<div id = "Result"><%=ViewData["SuggestStatus"]%></div>
المحلول
حاول أن تضع $("#yourFormId").validate()
إلى OnBegin
معامل
السابق:
<%
using (Ajax.BeginForm("SuggestTemp", "yourControllerName", new{}, new AjaxOptions
{
HttpMethod = "POST",
OnBegin = "function(){$('#myForm').validate();}"
},
new { id = "myForm" }){ %>
لا تنتمي إلى StackOverflow