2011-05-08 10 views
1

Je réalise à la fois la validation côté client et côté serveur et pour une vue particulière je dois valider un champ qui n'est pas publié dans les autres vues. Comment puis-je faire cela si j'utilise le même modèle pour les deux?Validation partielle - ASP.NET MVC 2

+1

Pouvez-vous montrer du code pour le modèle? – Paul

+0

Vous pouvez effectuer une validation côté client spécifique sur la nouvelle vue, mais du côté serveur, je pense que vous aurez besoin d'un peu de code spécifique à la vue pour effectuer la validation sur l'autre champ, si vous utilisez le même ViewModel. Je ne connais rien de «prêt à l'emploi» qui remplisse le concept de «validation spécifique à la vue». –

+0

Merci Robert. Est-ce que cette validation spécifique à la vue spécifique serait implémentée en générant directement un message d'erreur pour la vue par rapport à l'utilisation des méthodes de validation? – user743183

Répondre

0

FluentValidation est parfait pour ce scénario. Vous pouvez écrire deux classes de validateurs différentes et les appeler en fonction de votre contexte. Consultez leur site CodePlex ci-dessous:

http://fluentvalidation.codeplex.com/

1

Si l'un des modèles de vue ne convient pas pour les deux points de vue, alors vous devriez avoir deux modèles de vue. Pour rester DRY (ne vous répétez pas), vous pouvez hériter d'un modèle de vue de l'autre et ajouter la propriété supplémentaire.