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>
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