Presque toutes les applications web nécessitent une certaine forme de validation. Mais que sont les validations et pourquoi en avez-vous besoin ? Les données saisies par les utilisateurs ne sont pas toujours fiables. Parfois, ils saisissent des données incorrectes, sciemment ou non. Parfois, des utilisateurs malveillants veulent perturber l’application en introduisant sciemment des données inappropriées. Dans les deux cas, vous devez valider les données saisies avant de les utiliser pour un traitement ultérieur. Idéalement, les utilisateurs devraient saisir des données correctes dans un format correct. Mais comme vous le savez, le monde réel n’est pas si idéal et les gens font des erreurs. En tant que développeur, vous devez donc valider les données saisies dans votre application. Si les données saisies par l’utilisateur ne sont pas valides, vous devez en informer l’utilisateur, qui doit alors saisir à nouveau les données correctes et les soumettre à nouveau.
En bref, la validation est la pratique qui consiste à garantir la qualité des données. La validation peut être effectuée du côté du serveur, du côté du client ou aux deux extrémités. La validation est un aspect fondamental des applications ASP.NET MVC qui incite les développeurs à se tourner vers l’un des nombreux frameworks disponibles pour les aider à définir et à exécuter la validation des données. L’annotation de données et la validation fluide sont deux de ces validations utilisées pour valider les données saisies par l’utilisateur.
Annotations de données
Les annotations de données ne sont rien d’autre qu’un ensemble d’attributs qui peuvent être utilisés pour configurer vos classes de modèles afin de valider les données saisies par les utilisateurs. Elles fournissent un ensemble d’attributs .NET qui peuvent être appliqués aux propriétés des classes d’objets de données. Ces attributs offrent un moyen très déclaratif d’appliquer des règles de validation directement à un modèle. Les annotations de données sont un mécanisme général qui peut être utilisé pour alimenter le cadre en métadonnées. Le framework pilote la validation à partir des métadonnées et utilise les métadonnées lors de la construction du HTML pour afficher et éditer les modèles. Vous pouvez valider manuellement le modèle de vue en ASP.NET MVC, mais l’utilisation d’annotations de données permet de réutiliser la logique de validation et de gagner du temps. En outre, cela minimise la complexité des méthodes d’action. L’idée est d’ajouter des métadonnées de contraintes aux propriétés du modèle de vue, qui peuvent être reprises plus tard par le liant par défaut dans le processus de liaison de modèle.
Validation Fluent
Fluent Validation est une bibliothèque de validation open-source populaire utilisée pour résoudre des exigences de validation complexes. Il s’agit d’une bibliothèque de validation tierce pour .NET qui utilise une interface fluente facile à utiliser pour construire des règles de validation fortement typées. Elle utilise également des expressions lambda pour vous permettre d’écrire des règles de validation lisibles. Il s’agit d’un cadre côté serveur utilisé pour créer des validations avancées et complexes pour les données de l’utilisateur. C’est un excellent outil pour faciliter la création et la maintenance de vos validations. En outre, il fonctionne bien sur des modèles que vous ne possédez même pas ou que vous ne pouvez pas modifier. L’idée derrière la validation fluide est d’utiliser des appels de méthode enchaînés pour produire un code facile à lire pour les développeurs. Le type de retour de chaque appel définit alors les méthodes valides pour l’appel suivant.
Différence entre l’annotation de données et la validation fluide
Simplicité
– La configuration avec les annotations de données est assez simple car elle permet de configurer toutes les règles de validation en un seul endroit, c’est-à-dire dans la classe de métadonnées du modèle, et il n’est pas nécessaire de les configurer ailleurs. C’est encore l’une des méthodes les plus courantes utilisées pour la validation de modèle en ASP.NET MVC. Fluent Validation, quant à lui, est une bibliothèque de validation open-source utilisée pour résoudre des problèmes de validation complexes. C’est un excellent outil pour faciliter la création et la maintenance de votre validation.
Validation conditionnelle
– Fluent Validation utilise une puissante API fluente et des expressions lambda pour construire des règles de validation fortement typées. Il fournit un superbe support pour la validation côté client et la logique de validation est facile à tester. Fluent Validation facilite l’implémentation d’une validation conditionnelle basée sur un champ. Les annotations intégrées telles que les Data Annotations ne supportent pas la validation conditionnelle. Les annotations de données ne supportent aucun type de logique conditionnelle. L’API Fluent rend cela possible en utilisant les méthodes When/Unless.
Résumé
Les Data Annotations et Fluent Validation sont d’excellents outils de validation en ASP.NET MVC qui fournissent d’excellentes validations côté client. Fluent Validation semble offrir un meilleur contrôle de vos règles de validation car il utilise une puissante API fluente pour résoudre les exigences de validation complexes. En fait, tout ce que vous pouvez configurer avec Data Annotations, vous pouvez le faire avec Fluent Validation, mais pas l’inverse. Il est également possible de les utiliser ensemble, mais votre code deviendra alors incohérent. Fluent Validation est un excellent outil pour rendre votre validation facile à créer et à maintenir, et pour donner à votre code une apparence propre.