Ich entwickle eine kleine Website mit ASP.NET MVC, MySQL und NHibernate.Wie [und wo] eine Validierung implementieren mit ModelBinder
Ich habe eine Kontaktklasse:
[ModelBinder(typeof(CondicaoBinder))]
public class Contact {
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual int Age { get; set; }
}
und Modell Binder:
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;
}
}
Auch habe ich eine Ansicht mit einer Form meiner Datenbank zu aktualisieren, mit dieser Aktion:
public ActionResult Edit([ModelBinder(typeof(ContactBinder))] Contact contact) {
contactRepo.Update(contact);
return RedirectToAction("Index", "Contacts");
}
Bis hier, alles funktioniert gut. Aber ich muss eine Formularvalidierung implementieren, bevor ich meinen Kontakt aktualisiere.
Meine Frage ist: Wo soll ich diese Validierung implementieren? In der ActionResult-Methode oder in Model Binder? Oder anderswo?
Vielen Dank.