Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Présentation

  • : Romagny13 - Du .NET,du pur .NET
  • : Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions
  • Contact

Recherche

Articles RÉCents

1 février 2007 4 01 /02 /février /2007 12:23
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 à cette valeur 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
</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
</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
</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
</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
</asp:CustomValidator>
 
B- ou Avec une fonction JavaScript
 

<script type="text/javascript" language="javascript" >
<!--
Function CustomValidator1_ServerValidate(source,args)
{
 if (args.Value.Length > 5)
        {
            // les messages erreurs de CustomValidator1 seront affichés
            args.IsValid = false;
        }
        else
        {
            args.IsValid = true;
        }
}
//-->
</script>
 

<asp:CustomValidator
ID="CustomValidator1"
runat="server"
ControlToValidate="txtCodePostal"
ErrorMessage="Code postal"ClientValidationFunction="CustomValidator1_ServerValidate" >
Code postal invalide
</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:ValidationSummary ID="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 + "<BR/>" + 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é";
        }
 
 
 
Partager cet article
Repost0

commentaires

R
They want everyone to focus on you, &nbsp;Replica watches UK , no matter what you are working, shopping, sports or travel? Now I would like UK Replica handbags my new treasure you like, which is suitable for any occasion.Replica handbagsdenim shoulder Replica Rolex Watches There are a number of bags that we look like, but hate to wear Replica Handbag simultaneously. They can cost us hundreds of dollars, but after we take them home, we can at the store, but rarely have the opportunity to do this, for good opportunities. In such cases, but they serve as a nice luxury Replica Watches.In these days, this is a very expensive work, the Replica watch brand plastic bag.
Répondre
D
Tres bon article, il m'a bien aide."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"On voit ici comment tester les champs lors de l'appui de la touche entree.Comment faire pour tester en cours de saisie ?PS. Ce controle ne fonctionen pas chez moi ;w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"l'email n'est jamais valisder avec ce test...
Répondre