Domanda
Sto usando Ajax.BeginForm a presentare un modulo ans xVal per far rispettare la convalida
Il problema la richiesta POST Ajax viene fatta anche quando il form ha degli errori su di esso. So che la validazione lato client sta lavorando, perché è la visualizzazione di messaggi di errore corretto e cosa no, ma perché pensa che è bene fare la richiesta Ajax in ogni caso è una cosa che non capisco.
Ho anche provato a mettere causesvalidation = true
all'interno della scheda di invio, ma è ancora in fase inviato il modulo.
<% 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>
Soluzione
cercare di mettere $("#yourFormId").validate()
al OnBegin
parametro
Esempio:
<%
using (Ajax.BeginForm("SuggestTemp", "yourControllerName", new{}, new AjaxOptions
{
HttpMethod = "POST",
OnBegin = "function(){$('#myForm').validate();}"
},
new { id = "myForm" }){ %>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow