Je commence juste avec ASP.NET MVC 2 et je joue avec Validation.Comment valider deux propriétés avec ASP.NET MVC 2
Disons que j'ai 2 propriétés:
- PassWord1
- password2
Et je veux exiger qu'ils soient tous deux remplis, et exigent que les deux sont les mêmes avant que le modèle est valable. J'ai une classe simple appelée "NewUser".
Comment pourrais-je l'implémenter? J'ai lu à propos de ValidationAttribute et je comprends cela. Mais je ne vois pas comment j'utiliserais cela pour implémenter une validation qui compare deux ou plusieurs propriétés par rapport à eathother.
Merci d'avance!
problème ci-dessous solution:
Lorsque cela est appliqué à une application et la ModelBinder exécute la validation du modèle, alors il est un problème:
Si un Au niveau de la propriété ValidationAttribute contient une erreur, puis les ValidationAttribute de classe sont NOT validé. Je n'ai pas encore trouvé de solution à ce problème.
Si vous avez une solution à ce problème, partagez votre expérience. Merci beaucoup!
Le seul problème que je peux voir avec ceci est, lorsque deux propriétés du modèle (classe dans ce cas), ne sont pas égaux, il ne désigne pas les propriétés spécifiques comme contenant des erreurs, comme il le fait pour [Obligatoire] et <% = Html.ValidationMessageFor (m => m.Password1)%> – CodeMonkey
@CodeMonkey, je vois. Bien que je ne sois pas sûr s'il y a une solution élégante pour le faire fonctionner dans l'autre sens, en utilisant la liaison de modèle. Après tout, il s'agit techniquement d'une validation au niveau de la classe. Si vous ** devez ** ajouter les erreurs aux propriétés à la place, alors peut-être vérifier les deux valeurs dans le contrôleur après la liaison serait la solution la plus rapide (mais pas le plus élégant). –
Dans la version MVC 2, la méthode d'assistance Html.ValidationSummary peut désormais afficher les erreurs au niveau du modèle uniquement. – murki