2010-10-06 27 views
2

J'utilise Ajax.BeginForm soumettre un formulaire xVal ans pour faire appliquer la validationajax.beginform et xVal

Le problème de la demande de poste ajax est fait même si la forme a des erreurs sur elle. Je sais que la validation côté client fonctionne, parce qu'elle affiche des messages d'erreur corrects et ce qui ne l'est pas, mais pourquoi elle pense qu'il est acceptable de faire la requête ajax de toute façon est quelque chose que je ne comprends pas.

J'ai même essayé de mettre causesvalidation = true dans l'onglet de soumission, mais le formulaire est toujours en cours de soumission.

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

Répondre

0

essayer de mettre $("#yourFormId").validate() au paramètre OnBegin

Ex:

<% 
using (Ajax.BeginForm("SuggestTemp", "yourControllerName", new{}, new AjaxOptions 
{ 
    HttpMethod = "POST", 
    OnBegin = "function(){$('#myForm').validate();}" 
}, 
new { id = "myForm" }){ %> 
+0

Ce n'est pas correct à 100%, mais il m'a fait penser dans la bonne direction. – TPR