我正在使用ajax.beginform提交表单ANS XVAL来执行验证

即使表格上有错误,AJAX邮政请求也会提出。我知道客户端验证正在起作用,因为它正在显示正确的错误消息,而没有显示什么,但是为什么认为可以使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