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> 
È stato utile?

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