Je rencontre des problèmes pour essayer d'appliquer MS JQuery Validation dans mes formulaires lorsque je souhaite envoyer des données via un appel Ajax. J'utilise DataAnnotations et la bibliothèque MicrosoftMvcJQueryValidation.js pour effectuer la validation côté client et côté serveur.Combinaison de MicrosoftMvcJQueryValidation et Ajax Submit
validation du serveur fonctionne très bien et je suis en train de permettre la validation du client par moyenne de
<% Html.EnableClientValidation(); %>
<%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %>
<div id="formContainer">
<% using(Html.BeginForm()){ %>
<table class="formTable" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><label for="Description">Description:</label></td>
<td><%= Html.TextBox("Description", Model.Description) %>
<%= Html.ValidationMessage("Description", "*") %></td>
</tr>
<tr>
<td> </td>
<td>
<%=Html.Button("cancelBtn","Cancel")%>
<input id='createBtn' class='button' type='button' value='Create' />
</td>
</tr>
</table>
<% } %>
</div>
L'événement onclick est alors géré par un appel Ajax personnalisé. Dans ma source de page je peux voir la section
//<![CDATA[EnableClientValidation(...)]
mais je voudrais valider les données avant l'appel Ajax réel.
Au contraire à l'aide d'une entrée et soumettre
inputCreate.submit(function() {$.ajax...});
validation côté client est effectuée, mais aucun ajax appel est effectuée, le formulaire est soumis par l'intermédiaire postback.
Est-il possible de les faire fonctionner ensemble sans changer la bibliothèque jQuery.validate?
Est-ce possible? Est-ce que j'utilise une mauvaise approche à ce sujet?
Merci à l'avance
Absolument aidé, merci. Je déteste avoir à éditer MicrosoftMvcJQueryValidation.js, mais je suis enfin capable d'utiliser la validation côté client via DataAnnotations sans utiliser leur méthode Ajax.BeginForm(), sans tous les gestionnaires MicrosoftAjax supplémentaires. – kdawg