Pregunta

Estoy utilizando Ajax.BeginForm para enviar un formulario ans XVal para hacer cumplir la validación

El problema de la solicitud POST Ajax está siendo hecho, incluso cuando el formulario tiene errores en él. Sé que la validación del lado del cliente está funcionando, ya que está mostrando mensajes de error apropiados y lo que no, pero lo que se cree que está bien para hacer la petición ajax todos modos es algo que no entiendo.

Yo incluso intentado poner causesvalidation = true dentro de la pestaña presentar, pero aún así se presenta el formulario.

    <% 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> 
¿Fue útil?

Solución

tratar de poner a la $("#yourFormId").validate() OnBegin parámetro

Ejemplo:

<%
using (Ajax.BeginForm("SuggestTemp", "yourControllerName", new{}, new AjaxOptions
{
    HttpMethod = "POST",
    OnBegin = "function(){$('#myForm').validate();}"
},
new { id = "myForm" }){ %>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top