J'aime le point d'extnesibilité de MVC, permettant aux modèles de vue d'implémenter IValidatableObject et d'ajouter une validation personnalisée.
J'essaie de garder mes contrôleurs allégés, ce code étant la seule logique de validation:
if (!ModelState.IsValid)
return View(loginViewModel);
Par exemple, un modèle de vue de connexion implémente IValidatableObject, obtient l'objet ILoginValidator via une injection de constructeur:
public interface ILoginValidator
{
bool UserExists(string email);
bool IsLoginValid(string userName, string password);
}
Il semble que Ninject, l'injection d'instances dans les modèles de vue n'est pas vraiment une pratique courante, peut-être même un anti-modèle?
Est-ce une bonne approche? Y en a t-il un meilleur?