J'ai donc utilisé des annotations de données pour ma validation dans un projet MVC et elles semblent fonctionner dans la plupart des scénarios.Validation MVC à l'aide d'annotations de données - Scénarios où cela ne fonctionne pas, Alternatives?
Voici deux exemples dans mon projet actuel où ils ne semblent pas correspondre et je ne suis pas sûr du meilleur endroit pour mettre la validation.
1) J'ai une page Joindre la ligue qui contient un formulaire où l'utilisateur connecté entre le nom de son équipe et clique pour rejoindre la ligue. Quand ils soumettent le formulaire je dois m'assurer que l'utilisateur actuel n'a pas déjà une équipe dans la ligue. Donc, il doit essentiellement interroger la base de données pour cet id d'utilisateur et l'identifiant de ligue pour s'assurer qu'aucune équipe existe pour l'utilisateur. Mon ViewModel ne contient pas d'identifiant d'utilisateur, car il n'est pas pertinent pour la vue.
2) Sur cette même page, je dois également m'assurer que le nom de l'équipe est unique. C'est facile si vous cherchez juste à voir si elle existe dans une table. Vous créez un attribut de validation personnalisé que la requête est une table pour la valeur du champ. Cependant, j'ai besoin de voir si elle existe dans une table pour un certain identifiant de ligue. (la ligue qu'ils rejoignent.)
Il ne semble pas que les annotations de données soient une solution idéale pour toute validation autre que triviale. Ma solution actuelle consiste à interroger la base de données au début de la méthode post action et à ajouter manuellement l'erreur à ModelState. (oui, terrible)
Des idées?
Merci pour votre perspicacité, je pense que vous avez raison. :) –