SlideShare une entreprise Scribd logo
1  sur  23
Développement web avec
Visual Studio 2012 et ASP.NET




Module 5 – Validation de données

                                   Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




     Objectifs du module                                                                                      2



   Permettre de valider les données dans les applications web




Module 5 – Validation de données                                 Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




     Plan du module                                                                                         3



   Introduction à la validation
   Validation des données dans les applications ASP.NET




Module 5 – Validation de données                               Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




                 4
                                                            Module 5 – Validation de données




                                            Section 1 : Introduction à la
                                                              Validation


Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Introduction                                                                                                       5




          La validation consiste à vérifier que l’utilisateur a entré des données
           conformes et cohérentes




                                                                                                                     Module 5 – Validation de données
          La validation peut s’effectuer côté client (ASP.NET) ou côté serveur
           (JavaScript) ou les deux en même temps
          La non-validation peut conduire à des risques divers : disfonctionnements,
           crashs, incohérence des données, intrusions,…etc.
          Le processus de validation doit aussi guider l’utilisateur à corriger les
           données en cas d’erreurs


Section 1 : Introduction à la Validation                                 Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Exemples de Validation                                                                                             6




          Vérifier que des champs ne sont pas laissés à vide
          Vérifier que des champs obéissent à un certain format (par exemple




                                                                                                                     Module 5 – Validation de données
           numéro téléphone, mail…)
          Vérifier qu’un champ appartient à un certain intervalle
          …




Section 1 : Introduction à la Validation                                 Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Validation Côté Serveurs vs Validation Côté Client                                                                                      7



                                           Avantages                            Inconvénients
   Côté Client                             • Détecte les erreurs avant          • Peut être contournée
                                             l’envoi de données                 • Différences du support de
                                           • Evite de surcharger les serveurs     JavaScript par les




                                                                                                                                          Module 5 – Validation de données
                                             par les opérations de validation     différents navigateurs
   Côté Serveur                            • Evite totalement toute             • Surcharge le serveur
                                             incohérence                        • Multiples aller et retour en
                                           • Ecrite en C#                         cas d’erreurs




Section 1 : Introduction à la Validation                                                      Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012

                                                       Module 5 – Validation de données




                                                                                          Section 2 : Validation des Données
                                                                                               dans les Applications ASP.NET


                                                              8                                                     Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Contrôles de Validation                                                                                           9




          ASP.NET offre un certain ensemble de contrôles permettant de valider
           simplement les données




                                                                                                                    Module 5 – Validation de Données
          Les contrôles se trouvent dans l’onglet « Validation » de la barre à outils
          Plusieurs contrôles de validation peuvent être associés au même contrôle
          Pour déclencher manuellement une validation, exécutez la méthode
           Validate() de la page
          Pour tester que les données sont valides, lire la propriété IsValid de la
           page

Section 2 : Validation des Données dans les Applications ASP.NET        Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Contrôles de Validation                                                                                                                            10



   Contrôle                                                        Description
   RequiredFieldValidation                                         Permet de vérifier que l’utilisateur n’a pas laissé l’information
                                                                   à vide
   CompareValidator                                                Compare la valeur entrée à un autre contrôle, un type ou




                                                                                                                                                          Module 5 – Validation de Données
                                                                   valeur fixe
   RegularExpressionValidator                                      Compare que la valeur entrée est conforme à un certain
                                                                   format : utilise les expressions régulières
   RangeValidator                                                  Valide que la valeur entrée appartient à un intervalle
                                                                   prédéfini
   CustomValidator                                                 Validateur où le code de validation est fait par le
                                                                   développeur
   ValidationSummary                                               Résumé des messages d’erreurs affichées à l’utilisateur


Section 2 : Validation des Données dans les Applications ASP.NET                                              Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Propriétés Communes des Contrôles de Validation                                                                                                 11



   Contrôle                                                        Description
   ControlToValidate                                               Le contrôle dont le contenu doit être validé
   ErrorMessage                                                    Le message d’erreur à afficher en cas d’erreur de
                                                                   validation




                                                                                                                                                       Module 5 – Validation de Données
   Display                                                         Indique si l’espace réservé au message d’erreur doit être
                                                                   calculé dynamiquement ou statiquement
    ValidationGroup                                                Si plusieurs contrôles partagent le même
                                                                   « ValidationGroup » et qu’un de ces contrôles a déclenché
                                                                   un Postback, uniquement les contrôles appartenant à ce
                                                                   groupe seront validés




Section 2 : Validation des Données dans les Applications ASP.NET                                           Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      RequiredFieldValidator                                                                                                                           12



   Contrôle                                                        Description
   InitialValue                                                    Si cette propriété n’est pas vide, la validation n’échoue que
                                                                   si la valeur entrée est égale à la valeur de cette propriété.




                                                                                                                                                        Module 5 – Validation de Données
Section 2 : Validation des Données dans les Applications ASP.NET                                            Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      RangeValidator                                                                                                                                   13



   Contrôle                                                        Description
   Minimum                                                         La valeur minimale de l’intervalle
   Maximum                                                         La valeur maximale de l’intervalle




                                                                                                                                                        Module 5 – Validation de Données
   Type                                                            Type des données à comparer




Section 2 : Validation des Données dans les Applications ASP.NET                                            Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      CompareValidator                                                                                                                                 14



   Contrôle                                                        Description
   ControlToCompare                                                Le contrôle avec lequel on doit comparer la valeur
   Operator                                                        Opérateur de comparaison. Par défaut, c’est l’égalité.
                                                                   Parmi les opérateurs, il y a « DataTypeCheck » qui permet




                                                                                                                                                        Module 5 – Validation de Données
                                                                   de détecter qu’une valeur est conforme à un certain type
                                                                   de données
   ValueToCompare                                                  La valeur avec laquelle il faut comparer
   Type                                                            Si « Operator » est égal à « DataTypeCheck », cette
                                                                   propriété définit le type auquel doit être conforme la valeur.
                                                                   Par exemple, « Currency » ou « Integer »




Section 2 : Validation des Données dans les Applications ASP.NET                                            Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      RegularExpressionValidator                                                                                                                       15



   Contrôle                                                        Description
   ValidationExpression                                            Expression régulière de validation




                                                                                                                                                        Module 5 – Validation de Données
Section 2 : Validation des Données dans les Applications ASP.NET                                            Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Expressions Régulières                                                                                      16




          Les expressions régulières sont des chaînes spéciales permettant de
           valider (ou pas) d’autres chaînes de caractères




                                                                                                                   Module 5 – Validation de Données
          Elles sont aussi utilisées pour les remplacements de texte ou l’éclatement
           de chaînes de caractères
          Une expressions régulières est une suite de caractères de contrôle




Section 2 : Validation des Données dans les Applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Caractères de Contrôle                                                                                                                       17


Contrôle           Description                                     Expression   Exemples Valides    Exemples Non Valides
                                                                   Exemple
Lettre             Une lettre                                      a            a                   d ou 5 ou H
Chiffre            Un chiffre                                      6            6                   b ou U ou 8




                                                                                                                                                    Module 5 – Validation de Données
.                  N’importe quel caractère                        .            c ou J ou 8
                  Caractère d’échappement. Si                     .           .                   f ou L ou 9
                   le caractère qui le suit est un
                   symbole, il est pris tel.
?                  0 ou 1 fois                                     ab?c         abc ou ac           ab ou acc ou abbc
*                  0 fois ou plus                                  ab*          a ou ab ou abbbbb   gb ou 25
+                  1 fois ou plus                                  ab+          ab ou abbbbbbbbb    a ou jhdh ou 11
^                  Début de ligne                                  ^ab+         ab ou abb           cab ou cabb
$                  Fin de ligne                                    ^ab$         ab                  cab ou abd

Section 2 : Validation des Données dans les Applications ASP.NET                                        Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




       Caractères de Contrôle                                                                                                                          18


Contrôle           Description                                     Expression    Exemples Valides       Exemples Non Valides
                                                                   Exemple
{x}                Contient exactement x                           ab{2}c        abbc                   abc ou abbbc
                   occurrences




                                                                                                                                                        Module 5 – Validation de Données
{x,}               Contient au moins x                             ab{2,}c       abbc ou abbbc          abc ou ac
                   occurrences
{x,y}              Contient de x à y occurrences                   ab{0,2}c      ac ou abc ou abbc      abbbc
|                  Alternative                                     a(b|c)d       abd ou acd             ad ou abcd
()                 Groupement                                      ^((a)|(de))   abb ou debbbb ou       adeb ou ad ou d
                                                                   b*$           de
[]                 Intervalle                                      12[3-5]6      1236 ou 1246 ou 1256   126 ou 1216 ou 1276
[^]                Qui n’apparient pas à                           12[^3-5]6     1216 ou 1266           126 ou 1236 ou 1246 ou
                   l’intervalle                                                                         1256



Section 2 : Validation des Données dans les Applications ASP.NET                                            Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Caractères de Contrôle                                                                                                                          19


Contrôle           Description                                     Expression      Exemples            Exemples Non Valides
                                                                   Exemple         Valides
d                 Caractère numérique                             d{2,4}         15 ou 369 ou        1 ou 56987
                                                                                   4523




                                                                                                                                                       Module 5 – Validation de Données
D                 Caractère non numérique                         dDd          5b3 ou 1.9          123 ou lkj
w                 Caractère alphanumérique                        w[a-d]         ja ou 5b ou fd      .a ou bk
W                 Caractère non                                   wW[5-6a-d*]   5.* ou f,b ou a55   L56 ou 1b9
                   alphanumérique




Section 2 : Validation des Données dans les Applications ASP.NET                                           Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Expressions Régulières Fréquemment Utilisées                                                                                                      20


Expression                                                Description         Exemples Valides             Exemples Non Valides
^[a-z][a-z0-9_-]{4,16}$                                   Nom d’utilisateur   mostefaiamine ou             -*amine ou am
                                                                              mostefai-amine
^([a-z0-9_.-]+)@([da-z.-                               Mail                m_mostefai@esi.dz            m_mostefai@esi




                                                                                                                                                         Module 5 – Validation de Données
]+).([a-z.]{2,6})$
^(https?://)?([da-z.-]+).([a-                        Url                 http://mostefaiamine.co      http://mostefaiamine.com
z.]{2,6})([/w .-]*)*/?$                                                  m/contact                    /file!jshs
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-                       Adresse IP          192.168.0.1                  192.168.0.1.225
9][0-9]?).){3}(?:25[0-5]|2[0-4][0-
9]|[01]?[0-9][0-9]?)$
^<([a-                                                    Balise HTML         <a                           155614545
z]+)([^<]+)*(?:>(.*)</1>|s+/>)                                            href=”http://mostefaiami
$                                                                             ne.com/”>Hello</a>




Section 2 : Validation des Données dans les Applications ASP.NET                                             Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      CustomValidator                                                                                                                                  21



   Contrôle                                                        Description
   ClientValidationFunction                                        Fonction javascript à appeler chez le client
   ServerValidate                                                  Evènements déclenché côté serveur pour la validation




                                                                                                                                                        Module 5 – Validation de Données
Section 2 : Validation des Données dans les Applications ASP.NET                                            Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




      Tutoriel 5.1 : Validation des Données                                                                       22




         • Lancer Tutoriel 5.1, Etape 1 à 3




                                                                                                                   Module 5 – Validation de Données
Section 2 : Validation des Données dans les Applications ASP.NET       Copyright © 2013, Mostefai Mohammed Amine
Développement web avec ASP.NET et Visual Studio 2012




     Exercice                                                                                                       23




              Exercice 5.1 (Durée 1/2 h):
              Créez un formulaire de saisie et de validation d’un film




Module 5 – Validation de données                                         Copyright © 2013, Mostefai Mohammed Amine

Contenu connexe

Tendances

Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionMohammed Amine Mostefai
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouazInes Ouaz
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Siham Rim Boudaoud
 
Building Entreprise App With Spring Portfolio
Building Entreprise App With Spring PortfolioBuilding Entreprise App With Spring Portfolio
Building Entreprise App With Spring Portfoliomaknihamdi
 
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...Siham Rim Boudaoud
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateInes Ouaz
 
J2eeintro
J2eeintroJ2eeintro
J2eeintromedbmb
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapportInes Ouaz
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz InesInes Ouaz
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Frédéric Queudret
 

Tendances (20)

Workflow Foundation - Cours 5
Workflow Foundation - Cours 5Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
 
Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - Introduction
 
Le langage html
Le langage htmlLe langage html
Le langage html
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouaz
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
 
Building Entreprise App With Spring Portfolio
Building Entreprise App With Spring PortfolioBuilding Entreprise App With Spring Portfolio
Building Entreprise App With Spring Portfolio
 
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
Diapo. ite web dynamique sous JEE, application aux entreprises de production ...
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & Hibernate
 
Struts
StrutsStruts
Struts
 
Présentation WPF
Présentation  WPFPrésentation  WPF
Présentation WPF
 
Jaxrs
JaxrsJaxrs
Jaxrs
 
J2eeintro
J2eeintroJ2eeintro
J2eeintro
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapport
 
J2 ee
J2 eeJ2 ee
J2 ee
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz Ines
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009
 
2 ModéLe Mvc
2 ModéLe Mvc2 ModéLe Mvc
2 ModéLe Mvc
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 

En vedette

Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open sourceKorteby Farouk
 
Timing verification of automotive communication architecture using quantile ...
Timing verification of automotive communication  architecture using quantile ...Timing verification of automotive communication  architecture using quantile ...
Timing verification of automotive communication architecture using quantile ...RealTime-at-Work (RTaW)
 
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...OCCIware
 
Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Etienne Juliot
 
La &amp; edm in practice
La &amp; edm in practiceLa &amp; edm in practice
La &amp; edm in practicebharati k
 
Optimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc resultsOptimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc resultsEdward Willink
 

En vedette (20)

Wf module3
Wf module3Wf module3
Wf module3
 
Le Langage CSS
Le Langage CSSLe Langage CSS
Le Langage CSS
 
Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2
 
Présentation cloud journée azure
Présentation cloud   journée azurePrésentation cloud   journée azure
Présentation cloud journée azure
 
Introduction to Workflow Foundation
Introduction to Workflow FoundationIntroduction to Workflow Foundation
Introduction to Workflow Foundation
 
Introduction aux technologies mobiles
Introduction aux technologies mobilesIntroduction aux technologies mobiles
Introduction aux technologies mobiles
 
Méthodes Agiles - Généralités
Méthodes Agiles - GénéralitésMéthodes Agiles - Généralités
Méthodes Agiles - Généralités
 
Le Manifeste Agile
Le Manifeste AgileLe Manifeste Agile
Le Manifeste Agile
 
Présentation sharepoint 2013
Présentation sharepoint 2013Présentation sharepoint 2013
Présentation sharepoint 2013
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open source
 
The OCLforUML Profile
The OCLforUML ProfileThe OCLforUML Profile
The OCLforUML Profile
 
Timing verification of automotive communication architecture using quantile ...
Timing verification of automotive communication  architecture using quantile ...Timing verification of automotive communication  architecture using quantile ...
Timing verification of automotive communication architecture using quantile ...
 
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
OCCIware Contribution to the EU consultation on Cloud Computing Research Inno...
 
Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...
 
Aligning OCL and UML
Aligning OCL and UMLAligning OCL and UML
Aligning OCL and UML
 
What fUML can bring to MBSE?
What fUML can bring to MBSE?What fUML can bring to MBSE?
What fUML can bring to MBSE?
 
La &amp; edm in practice
La &amp; edm in practiceLa &amp; edm in practice
La &amp; edm in practice
 
Optimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc resultsOptimized declarative transformation First Eclipse QVTc results
Optimized declarative transformation First Eclipse QVTc results
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 

Similaire à Module 5 validation de données

TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMJason De Oliveira
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à zArnaud Auroux
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Microsoft
 
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...CERTyou Formation
 
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...CERTyou Formation
 
Wa815 g formation-websphere-application-server-v8-5-5-optimisation-des-perfor...
Wa815 g formation-websphere-application-server-v8-5-5-optimisation-des-perfor...Wa815 g formation-websphere-application-server-v8-5-5-optimisation-des-perfor...
Wa815 g formation-websphere-application-server-v8-5-5-optimisation-des-perfor...CERTyou Formation
 
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...TelecomValley
 
Améliorer votre productivité avec Visual Studio 2012
Améliorer votre productivité avec Visual Studio 2012Améliorer votre productivité avec Visual Studio 2012
Améliorer votre productivité avec Visual Studio 2012Microsoft
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerPhilippe Sentenac
 
Accélérez la création de services numériques grâce au Cloud
Accélérez la création de services numériques grâce au CloudAccélérez la création de services numériques grâce au Cloud
Accélérez la création de services numériques grâce au CloudFabrice Croiseaux
 
Visual Studio 2010
Visual Studio 2010Visual Studio 2010
Visual Studio 2010Nabil Babaci
 
[XamarinDay] Pipeline DevOps sur un projet Xamarin
[XamarinDay] Pipeline DevOps sur un projet Xamarin[XamarinDay] Pipeline DevOps sur un projet Xamarin
[XamarinDay] Pipeline DevOps sur un projet XamarinCellenza
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...Microsoft Technet France
 
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...Sébastien Levert
 

Similaire à Module 5 validation de données (20)

TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALM
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à z
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
 
Sécurisation des wcf
Sécurisation des wcfSécurisation des wcf
Sécurisation des wcf
 
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...
M10264 formation-developper-des-applications-web-avec-microsoft-visual-studio...
 
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...
 
Wa815 g formation-websphere-application-server-v8-5-5-optimisation-des-perfor...
Wa815 g formation-websphere-application-server-v8-5-5-optimisation-des-perfor...Wa815 g formation-websphere-application-server-v8-5-5-optimisation-des-perfor...
Wa815 g formation-websphere-application-server-v8-5-5-optimisation-des-perfor...
 
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
 
Améliorer votre productivité avec Visual Studio 2012
Améliorer votre productivité avec Visual Studio 2012Améliorer votre productivité avec Visual Studio 2012
Améliorer votre productivité avec Visual Studio 2012
 
Prezentare ASP.Net.pptx
Prezentare ASP.Net.pptxPrezentare ASP.Net.pptx
Prezentare ASP.Net.pptx
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation Server
 
Accélérez la création de services numériques grâce au Cloud
Accélérez la création de services numériques grâce au CloudAccélérez la création de services numériques grâce au Cloud
Accélérez la création de services numériques grâce au Cloud
 
Magento1
Magento1Magento1
Magento1
 
Visual Studio 2010
Visual Studio 2010Visual Studio 2010
Visual Studio 2010
 
[XamarinDay] Pipeline DevOps sur un projet Xamarin
[XamarinDay] Pipeline DevOps sur un projet Xamarin[XamarinDay] Pipeline DevOps sur un projet Xamarin
[XamarinDay] Pipeline DevOps sur un projet Xamarin
 
Introducthion mvvm avec wpf
Introducthion mvvm avec wpfIntroducthion mvvm avec wpf
Introducthion mvvm avec wpf
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
 
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est poss...
 
AngularJS
AngularJSAngularJS
AngularJS
 

Plus de Mohammed Amine Mostefai

Plus de Mohammed Amine Mostefai (10)

Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)
 
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationUtilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - Personnalisation
 
Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)
 
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsUtilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de Documents
 
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionUtilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - Introduction
 
Pratiques agiles
Pratiques agilesPratiques agiles
Pratiques agiles
 
Introduction à Scrum
Introduction à ScrumIntroduction à Scrum
Introduction à Scrum
 
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XPMéthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
 
Workflow Foundation Module 4
Workflow Foundation Module 4Workflow Foundation Module 4
Workflow Foundation Module 4
 
Conduite de projet innovants
Conduite de projet innovantsConduite de projet innovants
Conduite de projet innovants
 

Module 5 validation de données

  • 1. Développement web avec Visual Studio 2012 et ASP.NET Module 5 – Validation de données Copyright © 2013, Mostefai Mohammed Amine
  • 2. Développement web avec ASP.NET et Visual Studio 2012 Objectifs du module 2  Permettre de valider les données dans les applications web Module 5 – Validation de données Copyright © 2013, Mostefai Mohammed Amine
  • 3. Développement web avec ASP.NET et Visual Studio 2012 Plan du module 3  Introduction à la validation  Validation des données dans les applications ASP.NET Module 5 – Validation de données Copyright © 2013, Mostefai Mohammed Amine
  • 4. Développement web avec ASP.NET et Visual Studio 2012 4 Module 5 – Validation de données Section 1 : Introduction à la Validation Copyright © 2013, Mostefai Mohammed Amine
  • 5. Développement web avec ASP.NET et Visual Studio 2012 Introduction 5  La validation consiste à vérifier que l’utilisateur a entré des données conformes et cohérentes Module 5 – Validation de données  La validation peut s’effectuer côté client (ASP.NET) ou côté serveur (JavaScript) ou les deux en même temps  La non-validation peut conduire à des risques divers : disfonctionnements, crashs, incohérence des données, intrusions,…etc.  Le processus de validation doit aussi guider l’utilisateur à corriger les données en cas d’erreurs Section 1 : Introduction à la Validation Copyright © 2013, Mostefai Mohammed Amine
  • 6. Développement web avec ASP.NET et Visual Studio 2012 Exemples de Validation 6  Vérifier que des champs ne sont pas laissés à vide  Vérifier que des champs obéissent à un certain format (par exemple Module 5 – Validation de données numéro téléphone, mail…)  Vérifier qu’un champ appartient à un certain intervalle  … Section 1 : Introduction à la Validation Copyright © 2013, Mostefai Mohammed Amine
  • 7. Développement web avec ASP.NET et Visual Studio 2012 Validation Côté Serveurs vs Validation Côté Client 7 Avantages Inconvénients Côté Client • Détecte les erreurs avant • Peut être contournée l’envoi de données • Différences du support de • Evite de surcharger les serveurs JavaScript par les Module 5 – Validation de données par les opérations de validation différents navigateurs Côté Serveur • Evite totalement toute • Surcharge le serveur incohérence • Multiples aller et retour en • Ecrite en C# cas d’erreurs Section 1 : Introduction à la Validation Copyright © 2013, Mostefai Mohammed Amine
  • 8. Développement web avec ASP.NET et Visual Studio 2012 Module 5 – Validation de données Section 2 : Validation des Données dans les Applications ASP.NET 8 Copyright © 2013, Mostefai Mohammed Amine
  • 9. Développement web avec ASP.NET et Visual Studio 2012 Contrôles de Validation 9  ASP.NET offre un certain ensemble de contrôles permettant de valider simplement les données Module 5 – Validation de Données  Les contrôles se trouvent dans l’onglet « Validation » de la barre à outils  Plusieurs contrôles de validation peuvent être associés au même contrôle  Pour déclencher manuellement une validation, exécutez la méthode Validate() de la page  Pour tester que les données sont valides, lire la propriété IsValid de la page Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 10. Développement web avec ASP.NET et Visual Studio 2012 Contrôles de Validation 10 Contrôle Description RequiredFieldValidation Permet de vérifier que l’utilisateur n’a pas laissé l’information à vide CompareValidator Compare la valeur entrée à un autre contrôle, un type ou Module 5 – Validation de Données valeur fixe RegularExpressionValidator Compare que la valeur entrée est conforme à un certain format : utilise les expressions régulières RangeValidator Valide que la valeur entrée appartient à un intervalle prédéfini CustomValidator Validateur où le code de validation est fait par le développeur ValidationSummary Résumé des messages d’erreurs affichées à l’utilisateur Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 11. Développement web avec ASP.NET et Visual Studio 2012 Propriétés Communes des Contrôles de Validation 11 Contrôle Description ControlToValidate Le contrôle dont le contenu doit être validé ErrorMessage Le message d’erreur à afficher en cas d’erreur de validation Module 5 – Validation de Données Display Indique si l’espace réservé au message d’erreur doit être calculé dynamiquement ou statiquement ValidationGroup Si plusieurs contrôles partagent le même « ValidationGroup » et qu’un de ces contrôles a déclenché un Postback, uniquement les contrôles appartenant à ce groupe seront validés Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 12. Développement web avec ASP.NET et Visual Studio 2012 RequiredFieldValidator 12 Contrôle Description InitialValue Si cette propriété n’est pas vide, la validation n’échoue que si la valeur entrée est égale à la valeur de cette propriété. Module 5 – Validation de Données Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 13. Développement web avec ASP.NET et Visual Studio 2012 RangeValidator 13 Contrôle Description Minimum La valeur minimale de l’intervalle Maximum La valeur maximale de l’intervalle Module 5 – Validation de Données Type Type des données à comparer Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 14. Développement web avec ASP.NET et Visual Studio 2012 CompareValidator 14 Contrôle Description ControlToCompare Le contrôle avec lequel on doit comparer la valeur Operator Opérateur de comparaison. Par défaut, c’est l’égalité. Parmi les opérateurs, il y a « DataTypeCheck » qui permet Module 5 – Validation de Données de détecter qu’une valeur est conforme à un certain type de données ValueToCompare La valeur avec laquelle il faut comparer Type Si « Operator » est égal à « DataTypeCheck », cette propriété définit le type auquel doit être conforme la valeur. Par exemple, « Currency » ou « Integer » Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 15. Développement web avec ASP.NET et Visual Studio 2012 RegularExpressionValidator 15 Contrôle Description ValidationExpression Expression régulière de validation Module 5 – Validation de Données Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 16. Développement web avec ASP.NET et Visual Studio 2012 Expressions Régulières 16  Les expressions régulières sont des chaînes spéciales permettant de valider (ou pas) d’autres chaînes de caractères Module 5 – Validation de Données  Elles sont aussi utilisées pour les remplacements de texte ou l’éclatement de chaînes de caractères  Une expressions régulières est une suite de caractères de contrôle Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 17. Développement web avec ASP.NET et Visual Studio 2012 Caractères de Contrôle 17 Contrôle Description Expression Exemples Valides Exemples Non Valides Exemple Lettre Une lettre a a d ou 5 ou H Chiffre Un chiffre 6 6 b ou U ou 8 Module 5 – Validation de Données . N’importe quel caractère . c ou J ou 8 Caractère d’échappement. Si . . f ou L ou 9 le caractère qui le suit est un symbole, il est pris tel. ? 0 ou 1 fois ab?c abc ou ac ab ou acc ou abbc * 0 fois ou plus ab* a ou ab ou abbbbb gb ou 25 + 1 fois ou plus ab+ ab ou abbbbbbbbb a ou jhdh ou 11 ^ Début de ligne ^ab+ ab ou abb cab ou cabb $ Fin de ligne ^ab$ ab cab ou abd Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 18. Développement web avec ASP.NET et Visual Studio 2012 Caractères de Contrôle 18 Contrôle Description Expression Exemples Valides Exemples Non Valides Exemple {x} Contient exactement x ab{2}c abbc abc ou abbbc occurrences Module 5 – Validation de Données {x,} Contient au moins x ab{2,}c abbc ou abbbc abc ou ac occurrences {x,y} Contient de x à y occurrences ab{0,2}c ac ou abc ou abbc abbbc | Alternative a(b|c)d abd ou acd ad ou abcd () Groupement ^((a)|(de)) abb ou debbbb ou adeb ou ad ou d b*$ de [] Intervalle 12[3-5]6 1236 ou 1246 ou 1256 126 ou 1216 ou 1276 [^] Qui n’apparient pas à 12[^3-5]6 1216 ou 1266 126 ou 1236 ou 1246 ou l’intervalle 1256 Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 19. Développement web avec ASP.NET et Visual Studio 2012 Caractères de Contrôle 19 Contrôle Description Expression Exemples Exemples Non Valides Exemple Valides d Caractère numérique d{2,4} 15 ou 369 ou 1 ou 56987 4523 Module 5 – Validation de Données D Caractère non numérique dDd 5b3 ou 1.9 123 ou lkj w Caractère alphanumérique w[a-d] ja ou 5b ou fd .a ou bk W Caractère non wW[5-6a-d*] 5.* ou f,b ou a55 L56 ou 1b9 alphanumérique Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 20. Développement web avec ASP.NET et Visual Studio 2012 Expressions Régulières Fréquemment Utilisées 20 Expression Description Exemples Valides Exemples Non Valides ^[a-z][a-z0-9_-]{4,16}$ Nom d’utilisateur mostefaiamine ou -*amine ou am mostefai-amine ^([a-z0-9_.-]+)@([da-z.- Mail m_mostefai@esi.dz m_mostefai@esi Module 5 – Validation de Données ]+).([a-z.]{2,6})$ ^(https?://)?([da-z.-]+).([a- Url http://mostefaiamine.co http://mostefaiamine.com z.]{2,6})([/w .-]*)*/?$ m/contact /file!jshs ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0- Adresse IP 192.168.0.1 192.168.0.1.225 9][0-9]?).){3}(?:25[0-5]|2[0-4][0- 9]|[01]?[0-9][0-9]?)$ ^<([a- Balise HTML <a 155614545 z]+)([^<]+)*(?:>(.*)</1>|s+/>) href=”http://mostefaiami $ ne.com/”>Hello</a> Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 21. Développement web avec ASP.NET et Visual Studio 2012 CustomValidator 21 Contrôle Description ClientValidationFunction Fonction javascript à appeler chez le client ServerValidate Evènements déclenché côté serveur pour la validation Module 5 – Validation de Données Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 22. Développement web avec ASP.NET et Visual Studio 2012 Tutoriel 5.1 : Validation des Données 22 • Lancer Tutoriel 5.1, Etape 1 à 3 Module 5 – Validation de Données Section 2 : Validation des Données dans les Applications ASP.NET Copyright © 2013, Mostefai Mohammed Amine
  • 23. Développement web avec ASP.NET et Visual Studio 2012 Exercice 23 Exercice 5.1 (Durée 1/2 h): Créez un formulaire de saisie et de validation d’un film Module 5 – Validation de données Copyright © 2013, Mostefai Mohammed Amine