J'ai créé une vue dont je fais la validation côté serveur et côté client sur la page en utilisant les attributs DataAnnotation qui décorent chaque entrée du formulaire. La validation a lieu lorsque l'utilisateur sort d'un contrôle de formulaire ou lorsque l'utilisateur clique sur le bouton "Soumettre" qui est de type "Soumettre".Accès à l'objet de validation Microsoft Ajax avant l'envoi de l'appel jQuery Ajax au serveur
<table width="100%">
<tr>
<td class="editor-label" width="20%">
<%= Html.LabelFor(model => model.From)%>
(Email)*
</td>
<td width="80%">
<%= Html.TextBoxFor(model => model.From, new { size=30, maxlength=100})%>
<%= Html.ValidationMessageFor(model => model.From)%>
</td>
</tr>
<tr>
<td class="editor-label" width="20%">
</td>
<td width="80%">
<input type="button" id="submitFeedback" value="Send" />
<input type="button" id="cancelFeedback" value="Cancel" onclick="closePopup();" />
</td>
</tr>
Depuis que je suis l'affichage des données de formulaire par Async Ajax appel à l'aide jQuery. Il contourne l'ensemble de validation sur le formulaire. Je souhaite que la validation se produise lorsque l'utilisateur clique sur le bouton que j'utilise à la place du bouton "Envoyer".
$(function() {
$('#submitFeedback').click(function() {
$.ajax({
type: "POST",
url: "/Feedback/SubmitFeedback",
data: { from: $('#From').val(), to: $('#To').val(), subject: $('#Subject').val(), body: $('#Comments').val() },
success: function(feedback) {
alert(feedback);
closePopup();
}
});
});
});
je dois avoir accès à l'objet de validation de la bibliothèque Microsoft Ajax côté client et je suppose qu'il doit avoir une méthode « IsValid ».
Merci, Mohammad