Je suis en train de créer une application web MVC 3. Je veux utiliser les annotations de données sur ma classe d'entité et ensuite utiliser une validation discrète côté client avant de renvoyer un message au serveur. Cela fonctionne bien lors d'un envoi normal. J'obtiens la validation et le résumé de la validation si l'un des champs n'est pas valide. Cependant, je veux renvoyer les informations par ajax et json. Comment puis-je valider "manuellement" le formulaire du côté client, puis renvoyer l'information au serveur par ajax ? Vous trouverez ci-dessous une version résumée de mon code.
public class Customer
{
[Required(ErrorMessage = "The customer's first name is required.")]
public string FirstName { get; set; }
[Required(ErrorMessage = "The customer's last name is required.")]
public string LastName { get; set; }
}
<% using (Html.BeginForm()) { %>
<%: Html.LabelFor(model => model.FirstName, "First Name")%>
<%: Html.TextBoxFor(model => model.FirstName, new { @class = "TextBox", id = "Customer.FirstName" })%>
<%: Html.ValidationMessageFor(model => model.FirstName, "*")%>
<%: Html.LabelFor(model => model.LastName, "Last Name")%>
<%: Html.TextBoxFor(model => model.LastName, new { @class = "TextBox", id = "Customer.LastName" })%>
<%: Html.ValidationMessageFor(model => model.LastName, "*")%>
<div id="CustomerEditSave" class="Button CustomerEditButtons" style="margin-right:40px;">
<a href="#">Save</a>
</div>
<%: Html.ValidationSummary(true) %>
<% } %>
J'ai essayé ce code mais il ne valide que le prénom et n'affiche pas le résumé de la validation.
$("#CustomerEditSave").click(function () {
$(form).validate();
//Ajax call here
});