[asp.net 2.0] les controles de validation - vérifier et valider un formulaire

Les controls de validation [ASP.NET 2.0 *

 

Les controls de validation permettent de vérifier la validité des champs d'un formulaire soit à la validation du formulaire, soit en cours de saisie.

Sommaire :

1 ? RequiredFieldValidator  : vérifier si un champ est vide

2 - RangeValidator : vérifier que la saisie d'un champ est comprise dans un intervalle de 2  valeurs

3 - CompareValidator : comparer la valeur d'un champ par rapport à la valeur d'un autre champ ou à une valeur définie

4 - RegularExpressionValidator : comparer la valeur d'un champ par rapport à une expression régulière définie

5 ? CustomValidator : définir une validation personnalisée

6 - ValidationSummary : lister l'ensemble des erreurs avec un control type « sommaire »

7 ? Me.validate ou this.Validate() : valider un formulaire par programmation

8 - ValidationGroup : créer des groupes de validation pour un formulaire

 

 

1 - RequiredFieldValidator : Rendre OBLIGATOIRE LA SAISIE OU SELECTION DANS UN CHAMP

 

C'est lors de l'appui sur le bouton Envoyer que l'ensemble des champs sera vérifié et les messages erreurs affichés  Glisser depuis onglet Validation de la boite à outils

-

      ControlToValidate : ID du contrôle à valider/vérifier-

       InitialValue : c'est en fait par rapport à cettevaleur qu'une comparaison sera faite (vaut "" par défaut), Ø Si la « valeur Text du champ = InitialValue du RequiredFieldValidator »

         Alors ce n'est pas validé et le texte d'erreur est rendu visible

-      ErrorMessage : Message à afficher dans un contrôle ValidationSummary (ex : « votre nom »)

-      Text : Messageaffiché dans le contrôle RequiredFileValidator lorsquune erreur est rencontrée (ex: « Nom requis »)

 

<

asp:RequiredFieldValidatorID

="RequiredFieldValidator1"runat

="server"ControlToValidate

="txtNom"ErrorMessage

="Votre nom ">Nom requis

/FONT>asp:RequiredFieldValidator>

 

 2 - RangeValidator :

Vérifier que la valeur d'un champ est comprise entre 2 valeurs (ou intervalle)

C'est lors de l appui sur le bouton Envoyer que l'ensemble des champs sera vérifié et les messages erreurs affichés

 Glisser depuis onglet Validation de la boite à outils

-

      ControlToValidate : ID du contrôle à valider/vérifier   -

      Type : le type des valeurs vérifiées (String,...)-

      MinimumValue : valeur min de l'intervalle-

      MaximumValue : valeur max de l'intervalle-

      ErrorMessage : Message à afficher dans un contrôle ValidationSummary (ex : « votre nom »)-         Text : Messageaffiché dans le contrôle RangeValidator lorsqu'une erreur est rencontrée (ex: « Nom requis »)

 --------------------------------------------------------------------------------------------------

 

ATTENTION :RangeValidator ne vérifie que si la valeur saisie est comprise dans un intervalle de valeur Mais ne sert pas à vérifier la présence d'une valeur

 DONC il faut utiliser en plus un RequiredFieldValidator

 --------------------------------------------------------------------------------------------------

<

asp:RangeValidatorID

= "RangeValidator1"runat

="server"ControlToValidate

="txtAge"ErrorMessage

="Age non valide"MaximumValue

="100"MinimumValue

="0"Type

="Integer">Age invalide

/FONT>asp:RangeValidator>

 

 3 - CompareValidator :

On compare la valeur de 2 champs afin que ceux-ci soient strictement identiques, sinon le message d'erreur est levé

 

 Ici c'est lors de l'événement validating que la vérification est effectuée et les messages erreurs affichés  et non lors de l'appui sur le bouton Envoyer

 

Glisser depuis onglet Validation de la boite à outils

-

      ControlToValidate : ID du contrôle à valider /vérifier -      ControlToCompare :   ID du contrôle dont la valeur sert de base (la valeur auquel le control à valider devra correspondre sinon message erreur affiché)

-      ErrorMessage : Message à afficher dans un contrôle ValidationSummary (ex : «Email dans le champ confirmation Email»)

-      Text : Messageaffiché dans le contrôle RangeValidator lorsqu'une erreur est rencontrée (ex: « Lemail saisi dans le champ confirmation ne correspond pas »)

+  

-

      ValueCompare : permet de comparer la valeur d'un champ par rapport à la valeurValueCompare,ne pas donner de ControlToCompare dans ce cas mais uniquement le ControlToValidate

-  Type : Type de données du champ (String,?)

---------------------------------------------------------------------------------------------------

ATTENTION :CompareValidatorne sert pas à vérifier la présence dune valeur DONC il faut utiliser en plus un RequiredFieldValidator

 --------------------------------------------------------------------------------------------------

<

asp:CompareValidatorID

= "CompareValidator1"runat

="server"ControlToCompare

="txtEmail"ControlToValidate

="txtConfirmationEmail"ErrorMessage

="Email dans le champ confirmation Email">Lemail saisi dans le champ confirmation ne correspond pas

/FONT>asp:CompareValidator>

 

 4 - RegularExpressionValidator :

Comparer la valeur d'un champ à une expression régulière afin de la valider

 C'est lors de l'appui sur le bouton Envoyer que l'ensemble des champs sera vérifié et les messages erreurs affichés

 

Glisser depuis onglet Validation de la boite à outils 

-

      ControlToValidate : ID du contrôle à valider /vérifier-      ValidationExpression : expression régulière de comparaison (prédéfinie ou personnalisée)

-      ErrorMessage : Message à afficher dans un contrôle ValidationSummary (ex : «Email»)

-      Text : Messageaffiché dans le contrôle RangeValidator lorsquune erreur est rencontrée (ex: «Email invalide »)

 -------------------------------------------------------------------

------------------------------- ATTENTION : Il faut utiliser en plus un RequiredFieldValidator si on veut vérifier la présence dune valeur

 --------------------------------------------------------------------------------------------------

<

asp:RegularExpressionValidatorID

= "RegularExpressionValidator1"runat

="server"ControlToValidate

="txtEmail"ErrorMessage

="Email"ValidationExpression

="w+([-+. * w+)*@w+([-.]w+)*.w+([-.]w+)*">Email invalide

/FONT>asp:RegularExpressionValidator>

 

 

5 - CustomValidator :

 

Permet de créer une validation personnalisée

On peut soit utiliser :

-

      l'événement ServerValidate (code-behind de la page)-

      ou une fonction JavaScript appelée grace à attribut ClientValidationFunction du control CustomValidator -

      Ne pas oublier d'affecter ControlToValidate :ID  control à vérifier 

Glisser un contrôle CustomValidator sur la page

Double cliquer sur le contrôle CustomValidator > l'événement

CustomValidator1_ServerValidate est généré dans le code-behind de la page

Exemple > vérifier pour un champ code postal la longueur de la saisie : 

A ? dans le code-behind

protected

void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)    {

       

if (args.Value.Length > 5)        {

           

// les messages erreurs de CustomValidator1 seront affichés            args.IsValid =

false;        }

       

else        {

            args.IsValid =

true;        }

    }

 

<

asp:CustomValidatorID

="CustomValidator1"runat="server"ControlToValidate

="txtCodePostal"ErrorMessage

=" Code postal"OnServerValidate="CustomValidator1_ServerValidate">Code postal invalide

/FONT>asp:CustomValidator>

 

B- ou Avec une fonction JavaScript


{

 

if (args.Value.Length > 5)        {

           

// les messages erreurs de CustomValidator1 seront affichés            args.IsValid =

false;        }

       

else        {

            args.IsValid =

true;        }

}

//-->

/FONT>script>

<

scripttype="text/javascript"language="javascript"><!--

Function CustomValidator1_ServerValidate(source,args)

 

<

asp:CustomValidatorID

="CustomValidator1"runat

="server"ControlToValidate

="txtCodePostal"ErrorMessage

="Code postal"ClientValidationFunction="CustomValidator1_ServerValidate">Code postal invalide

/FONT>asp:CustomValidator>

 

 

6 - ValidationSummary :

 

Permet d'afficher tel un sommaire les erreurs rencontrées sur la

page (en fait liste tous les messages des propriétés ErrorMessage des contrôles non validés)

 Aucune propriété particulière n'est à configurer, si ce n'est à la rigueur l'apparence :

-

      DisplayMode : BulletList,? 

   

<asp:ValidationSummaryID= "ValidationSummary1"runat="server"/>

 

7- Me.Validate() ou this.Validate() :

Permet de forcer la validation de la page par programmation

(dans le Code-Behind de la page)

Exemple C# :

protected

void btnValiderFormulaire_Click(object sender, EventArgs e)    {

       

this.Validate(); 

       

if (this.IsValid = = true)        {

            lblResume.Text =

this.txtNom.Text + "
" + this.txtEmail.Text;        }

    }

 

8- ValidationGroup

 

Créer des groupes de validation dans un formulaire  Il faut simplement régler la propriété ValidationGroup

 

POUR CHACUN CONTROLS (textbox,bouton validation,labels,contrôles validation) de chaque groupe

(ex : A pour un groupe et B pour l'autre)

 

 

Exemple C#:

 

// Exemple : nous avons 2 groupes de validation (A et B)       

// Valider uniquement le groupe A       

this.Validate("A"); 

       

if (this.IsValid == true)        {

            Label1.Text =

"groupe A validé"; ;        }

 

       

// Valider tout le formulaire(tous les groupes)       

this.Validate(); 

       

if (this.IsValid == true)        {

            Label1.Text =

"Formulaire entier validé";        }

 

 

 

Adresse d'origine

Ce document intitulé « [asp.net 2.0] les controles de validation - vérifier et valider un formulaire » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.