begin process at 2008 05 17 06:08:01
1 173 917 membres
49 nouveaux aujourd'hui
13 973 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[ASP.NET 2.0] LES CONTROLES DE VALIDATION - VÉRIFIER ET VALIDER UN FORMULAIRE


Information sur le tutorial

Catégorie :Tutoriaux Tutorial .NET ( DotNet ) Date de création : 01/02/2007 12:20:04 Vu : 7 251 fois

Note :
Aucune note

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


Description

Les controles de validation - vérifier et valider un formulaire

Tutorial

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:RequiredFieldValidator

ID

="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:RangeValidator

ID

="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 valeur

ValueCompare,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:CompareValidator

ID

="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:RegularExpressionValidator

ID

="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:CustomValidator

ID

="CustomValidator1"runat="server"

ControlToValidate

="txtCodePostal"

ErrorMessage

=" Code postal"OnServerValidate="CustomValidator1_ServerValidate">

Code postal invalide

/FONT>asp:CustomValidator>

 

B- ou Avec une fonction JavaScript

<

scripttype="text/javascript"language="javascript">

/FONT>script>

 

<

asp:CustomValidator

ID

="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é";

        }

 

 

 

01 février 2007 13:31:16 :
. mise en forme (essai copier/coller *.rtf)
31 mars 2007 23:12:40 :
. version word 2007
01 août 2007 23:49:52 :
.
04 août 2007 10:19:33 :
. essai de rattrapage de la mise en forme
11 août 2007 01:48:23 :
.
12 août 2007 12:38:31 :
.
  • signaler à un administrateur
    Commentaire de romagny13 le 01/02/2007 12:22:26

    Bonjour,
    je me suis mis un peu plus serieusement sur ASP.NET car je prévois de me réaliser un générateur de sites webs
    aussi une série d'articles devraient etre postés,ainsi vous pourrez en profiter

    ... en esperant que la FreeTextBox ne sera pas trop capricieuse
    ++

  • signaler à un administrateur
    Commentaire de romagny13 le 01/02/2007 12:26:16

    Lien vers le meme tuto un peu mieux mis en forme sur mon blog >>
    http://romagny13.over-blog.com/article-5481804.html

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS