Je développe un petit site en utilisant ASP.NET MVC, MySQL et NHibernate.Comment [et où] implémenter une validation en utilisant ModelBinder
J'ai une classe Contact:
[ModelBinder(typeof(CondicaoBinder))]
public class Contact {
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual int Age { get; set; }
}
Et un classeur Modèle:
public class ContactBinder:IModelBinder {
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) {
Contact contact = new Contact();
HttpRequestBase form = controllerContext.HttpContext.Request;
contact.Id = Int16.Parse(form["Id"]);
contact.Name = form["Name"];
contact.Age = Int16.Parse(form["Age"]);
return contact;
}
}
Aussi, j'avoir une vue d'un formulaire pour mettre à jour ma base de données, en utilisant cette action:
public ActionResult Edit([ModelBinder(typeof(ContactBinder))] Contact contact) {
contactRepo.Update(contact);
return RedirectToAction("Index", "Contacts");
}
Jusqu'à ici, tout fonctionne bien. Mais je dois mettre en place une validation de formulaire, avant de mettre à jour mon contact.
Ma question est: Où dois-je mettre en œuvre cette validation? Dans la méthode ActionResult ou dans Model Binder? Ou ailleurs?
Merci beaucoup.