Mise en situation -
ValidationExpression
Mise en situation
Très utilisées, les expressions régulières (RegExp) présentent un moyen très puissant de vérifier la validité des données saisies dans un formulaire. Dans le cas de valeurs éronnées, elles nous permettent d'afficher des messages d'erreurs personalisés. Voyons comment sela fonctionne en ASP.NET
Souvenez vous, en ASP 3.0 pour utiliser les expressions régulières, il nous fallait créer un objet RegExp. Set RegExp = New RegExp.
En ASP.NET, nous allons les ajouter de la même manière qu'un contrôle serveur. On lui ajoutera une valeur d'attribut ValidationExpression qui définira les caractères à autoriser ainsi qu'un attribut RequiredFieldValidator qui oblige l'utilisateur à ne pas laisser vide le champ en question.
Nous allons garder un formulaire tout simple. Deux champs, login et mot de passe, à remplir plus un bouton pour valider le formulaire.
Nous allons déjà construire notre formulaire et ensuite ajouter pas à pas les différents contrôles que nous voulons effectuer.
Mise en place du formulaire |
<% @ Page Language = "VBScript" %> <html> <head> <title>Identification</title> </head>
<body> <form method="post" runat="server"> Votre login : <ASP:TextBox id="Login" runat="server" /><br> Votre mot de passe : <ASP:TextBox id="Pass" TextMode="Password" runat="server" /><br> <ASP:Button id="Button" Text="Envoyer" runat="server" /> </form> </body> </html>
|
|
Champs obligatoires
Pour commencer, nous allons demander à ce que les deux champs soient remplis. Comme précisé ci-dessus, c'est avec l'attribut RequiredFieldValidator que nous allons obliger l'utilisateur à ne pas laisser vide les deux champs.
Concretement comment ça se passe ?
On déclare notre contrôle serveur : <ASP:RequiredFieldValidator>
On nomme notre contrôle : id="RFV_Login"
On lui indique quel champ contrôler : ControlToValidate="Login"
Sa valeur initiale, ici nulle : InitialValue=""
Avant de fermer la balise, on inscrit le texte à afficher en cas d'erreur.
On n'oublie pas l'attribut runat="server"
Nous allons ajouter un Label qui nous permettera d'afficher si le formulaire est valide ou non. Pour voir si le formulaire est valide on utilisera dans notre procédure Page.IsValid.
RequiredFieldValidator |
<% @ Page Language = "VBScript" %> <html> <head> <title>Identification</title> </head>
<script runat="server"> Sub Button_Click(Sender As Object, e As EventArgs) If Page.IsValid Then Message.Text = "Formulaire correct !" Else Message.Text = "Formulaire incorrect !<br>Les champs marqués d'une * sont obligatoires !" End If End Sub </script>
<body> <form method="post" runat="server"> Votre login : <ASP:TextBox id="Login" runat="server" /> <ASP:RequiredFieldValidator id="RFV_Login" ControlToValidate="Login" InitialValue="" runat="server">*</ASP:RequiredFieldValidator><br>
Votre mot de passe : <ASP:TextBox id="Pass" TextMode="Password" runat="server" />
<ASP:RequiredFieldValidator id="RFV_Pass" ControlToValidate="Pass" InitialValue="" runat="server">*</ASP:RequiredFieldValidator><br>
<ASP:Button id="Button" Text="Envoyer" OnClick="Button_Click" runat="server" /><br> <ASP:Label id="Message" runat="server" /> </form> </body> </html>
|
|
Compris ?
La suite ...