سؤال

أنا أستخدم 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" }){ %>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top