Présentation des contrôles de validation ASP.Net

Les contrôles de validation ASP .Net fournissent un mécanisme pour vérifier les entrées utilisateur avant de les soumettre au serveur. Cela empêche le stockage de données sans scrupules, malveillantes et insensées dans le serveur / base de données. Essentiellement, ces contrôles de validation garantissent que les données remplies par l'utilisateur dans les champs du formulaire sont authentiques et correspondent aux exigences.

Comment travaillent-ils?

Pour comprendre le fonctionnement des contrôles de validation ASP.Net, examinons la classe dont héritent tous les contrôles. Si vous n'êtes pas familier avec le concept d'héritage, nous vous recommandons de le comprendre avant de continuer.

La classe BaseValidator

Tous les contrôles de validation dans ASP.Net héritent des propriétés et des méthodes de la classe BaseValidator. Il aide à créer une suite générique de contrôles de validation. Les propriétés et méthodes importantes de la classe BaseValidator sont:

  • ControlToValidate - Il indique le contrôle d'entrée à valider. Il doit s'agir d'une valeur unique tout au long du formulaire. Cet attribut est obligatoire car il est utilisé pour associer le contrôle d'entrée à un contrôle de validation.
  • Activé - Il active ou désactive le validateur.
  • Texte - Il contient le message à afficher en cas d'échec de validation.
  • ErrorMessage - La valeur de cet attribut est affichée lorsque le contrôle ValidationSummary est utilisé ou lorsque la propriété Text est manquante.
  • IsValid - Un attribut booléen qui indique si le contrôle est valide ou non.
  • Validate () - Cette méthode revalide le contrôle et met à jour IsValid

Types de contrôle de validation ASP.Net

Voici les types de contrôles de validation ASP.NET:

1. RequiredFieldValidator

Il s'agit d'un contrôle de validation élémentaire. Presque tous les formulaires ont des champs qui doivent obligatoirement être remplis par l'utilisateur avant de continuer. Le validateur de champ obligatoire garantit que ces champs ne sont pas laissés vides.

Syntaxe

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
InitialValue="aPlaceholderValue">

Remarquez l'attribut Valeur initiale dans la syntaxe ci-dessus. Bien que cela agisse comme un espace réservé, en outre, la validation échoue si la valeur du champ ne change pas par rapport à la valeur initiale en perdant le focus.

Remarque - Ne vous inquiétez pas beaucoup de l'attribut runat = "server " . Il est utilisé pour indiquer à ASP.Net que le contrôle est également disponible côté serveur. La mise à disposition du contrôle côté serveur permet d'accéder au contrôle dans la logique code-behind.

2. RangeValidator

Le contrôle RangeValidator spécifie simplement la plage autorisée dans laquelle la valeur d'entrée doit se situer. Ceci est très utile pour les valeurs d'entrée numériques telles que l'âge ou pour les valeurs d'entrée de date.

Syntaxe

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
Type="Integer" MinimumValue=”0” MaximumValue=”100”>

Il existe trois propriétés supplémentaires de ce contrôle

  • Type - Spécifie le type de données dans le champ de saisie. La valeur est convertie dans ce type avant validation. Une exception est levée si la valeur ne peut pas être convertie dans le type spécifié. Les types de données suivants peuvent être comparés dans RangeValidator:
    1. Chaîne
    2. Entier
    3. Double
    4. Date
    5. Devise
  • MinimumValue - Spécifie la valeur minimale que le champ peut contenir.
  • MaximumValue - Spécifie la valeur maximale que le champ peut contenir. Les valeurs minimales et maximales sont des invalidations inclusives.

3. RegularExpressionValidator

  • RegularExpressions, ou simplement Regex, sont des modèles qui définissent le format du texte. Si le texte est au même format, Regex renvoie vrai, sinon faux. Il est recommandé de lire sur Regex si vous ne le connaissez pas. Cela vous donnera également une idée de la façon dont les motifs Regex sont formés et comment déchiffrer un motif Regex.
  • Ainsi, un RegularExpressionValidator est un contrôle de validation très polyvalent. Il compare le texte d'entrée au modèle spécifié dans la propriété ValidationExpression.

Syntaxe -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
ValidationExpression=”aRegexPattern”>

Un exemple de modèle Regex peut être (az) (0-9). Cela indique qu'un texte doit commencer par un alphabet et suivre par un chiffre.

4. CompareValidator

  • Le contrôle CompareValidator compare la valeur d'un contrôle avec une valeur fixe ou une valeur dans un autre contrôle.

Syntaxe -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
Type="string" ControlToCompare=”ControlToValidateIdOfAnotherControl”
ValueToCompare=”aFixedValue” Operator=”Equal”>

Il y a trois nouvelles propriétés dans ce validateur:

  • ControlToCompare - Il contient l'ID ControlToValidate d'une autre forme de contrôle. La valeur des deux champs du formulaire est ensuite comparée.
  • ValueToCompare - Une valeur fixe avec laquelle la comparaison doit être effectuée.
  • Opérateur - Type de comparaison. Les valeurs autorisées dans cet attribut sont:
    1. Égal
    2. Inégal
    3. Plus grand que
    4. GreaterThanEqual
    5. Moins que
    6. LessThanEqual
    7. DataTypeCheck

5. CustomValidator

  • ASP.Net permet également la liberté d'écrire votre propre validateur. Cela facilite la tâche d'un développeur pour valider le formulaire côté client lui-même. Il permet également de mettre en place des validations plus complexes. Les validations spécifiques à l'entreprise ou à l'application peuvent être écrites à l'aide de validateurs personnalisés.
  • Le code de validation personnalisé est écrit dans une fonction dans la page code-behind et le nom de la fonction est passé en tant qu'attribut à la classe CustomValidator. La validation personnalisée peut être effectuée côté client ou côté serveur.
  • La propriété ClientValidationFunction spécifie que la validation doit être effectuée côté client. Ce code de validation doit être écrit dans certains langages de script tels que JavaScript, VBScript, etc.
  • Le gestionnaire d'événements ServerValidate est utilisé lorsque la validation doit être effectuée côté serveur. La routine de validation côté serveur est écrite en C #, VB .Net ou tout autre langage .Net.

Syntaxe -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
ClientValidationFunction=”functionName”>

6. Validation Résumé

Le contrôle ValidationSummary n'effectue aucune validation. Son but est d'afficher un résumé de toutes les erreurs sur la page.

Syntaxe -

runat="server" DisplayMode=”BulletList” ShowSummary=”true”
HeaderText=”List of Errors” />

Conclusion - Contrôles de validation ASP .Net

Cet article couvre les bases des contrôles de validation dans ASP .Net. Il y a beaucoup plus à découvrir une fois que vous commencez à créer votre formulaire Web. Pour les codeurs avancés, nous recommandons la documentation MSDN pour une compréhension approfondie du sujet.

Articles recommandés

Cela a été un guide pour les contrôles de validation ASP.Net. Ici, nous avons discuté de l'introduction, les types avec la syntaxe de ASP.Net Validation Control. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus-

  1. Cycle de vie de la page ASP.NET
  2. Qu'est-ce que ASP.NET?
  3. JSP vs ASP
  4. Questions d'entretiens chez Asp.Net MVC
  5. Fonctions Regex en Python (exemple)