ASP.NET
ASP.NET - Validateurs
Recherche…
Syntaxe
RequiredFieldValidator Contrôle: <asp: RequiredFieldValidator ID = "rfvcandidate" runat = "serveur" ControlToValidate = "ddlcandidate" ErrorMessage = "Veuillez choisir un candidat" InitialValue = "Veuillez choisir un candidat">
</ asp: RequiredFieldValidator>Contrôle de RangeValidator:
<asp: RangeValidator ID = "rvclass" runat = "serveur" ControlToValidate = "txtclass" ErrorMessage = "Entrez votre classe (6 - 12)" MaximumValue = "12" MinimumValue = "6" Type = "Entier">
</ asp: RangeValidator>Contrôle CompareValidator: <asp: CompareValidator ID = "CompareValidator1" runat = "serveur" ErrorMessage = "CompareValidator"> </ asp: CompareValidator>
CustomValidator:
<asp: CustomValidator ID = "CustomValidator1" runat = "serveur" ClientValidationFunction = .cvf_func. ErrorMessage = "CustomValidator">
</ asp: CustomValidator>
Résumé de la validation: <asp: ValidationSummary ID = "ValidationSummary1" runat = "serveur" DisplayMode = "BulletList" ShowSummary = "true" HeaderText = "Erreurs:" />
Contrôles de validation
Les contrôles de validation ASP.NET valident les données saisies par l'utilisateur pour garantir que les données inutiles, non authentifiées ou contradictoires ne soient pas stockées.
ASP.NET fournit les contrôles de validation suivants:
- RequiredFieldValidator
- RangeValidator
- CompareValidator
- RegularExpressionValidator
- CustomValidator
- ValidationSummary
Contrôle RequiredFieldValidator
Le contrôle RequiredFieldValidator garantit que le champ requis n'est pas vide. Il est généralement lié à une zone de texte pour forcer la saisie dans la zone de texte.
La syntaxe du contrôle est la suivante:
<asp:RequiredFieldValidator ID="rfvcandidate"
runat="server" ControlToValidate ="ddlcandidate"
ErrorMessage="Please choose a candidate"
InitialValue="Please choose a candidate">
</asp:RequiredFieldValidator>
Contrôle de RangeValidator
Le contrôle RangeValidator vérifie que la valeur d'entrée se situe dans une plage prédéterminée.
Il possède trois propriétés spécifiques:
Propriétés | La description |
---|---|
Type | Il définit le type de données. Les valeurs disponibles sont: devise, date, |
Valeur minimum | Il spécifie la valeur minimale de la plage. |
Valeur maximum | Il spécifie la valeur maximale de la plage. |
La syntaxe du contrôle est la suivante:
<asp:RangeValidator ID="rvclass" runat="server" ControlToValidate="txtclass"
ErrorMessage="Enter your class (6 - 12)" MaximumValue="12"
MinimumValue="6" Type="Integer">
</asp:RangeValidator>
CompareValidator Control
Le contrôle CompareValidator compare une valeur dans un contrôle avec une valeur fixe ou une valeur dans un autre contrôle.
Il possède les propriétés spécifiques suivantes:
Propriétés | La description |
---|---|
Type | Il spécifie le type de données. |
ControlToCompare | Il spécifie la valeur du contrôle d'entrée à comparer. |
ValueToCompare | Il spécifie la valeur constante à comparer. |
ValueToCompare | Il spécifie l'opérateur de comparaison, les valeurs disponibles sont: Equal, NotEqual, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual et DataTypeCheck. |
La syntaxe de base du contrôle est la suivante:
<asp:CompareValidator ID="CompareValidator1" runat="server"
ErrorMessage="CompareValidator">
</asp:CompareValidator>
RegularExpressionValidator
RegularExpressionValidator permet de valider le texte en entrée en le comparant à un modèle d'une expression régulière. L'expression régulière est définie dans la propriété ValidationExpression.
Le tableau suivant résume les constructions de syntaxe couramment utilisées pour les expressions régulières:
Évasion de personnage | La description |
---|---|
\ b | Correspond à un retour arrière. |
\ t | Correspond à un onglet. |
\ r | Correspond à un retour chariot. |
\ v | Correspond à un onglet vertical. |
\F | Correspond à un flux de formulaire. |
\ n | Correspond à une nouvelle ligne. |
\ | Caractère d'échappement. |
En dehors de la correspondance avec un seul caractère, une classe de caractères pouvant être mise en correspondance, appelée métacaractères, peut être spécifiée.
Métacaractères | La description |
---|---|
. | Correspond à n'importe quel caractère sauf \ n. |
[a B c d] | Correspond à n'importe quel personnage de l'ensemble. |
[^ abcd] | Exclut tous les caractères de l'ensemble. |
[2-7a-mA-M] | Correspond à tout caractère spécifié dans la plage. |
\ w | Correspond à tout caractère alphanumérique et trait de soulignement. |
\ W | Correspond à n'importe quel caractère non-mot. |
\ s | Correspond aux espaces tels que les espaces, les tabulations, les nouvelles lignes, etc. |
\ S | Correspond à n'importe quel caractère autre qu'un espace. |
\ré | Correspond à n'importe quel caractère décimal. |
\RÉ | Correspond à tout caractère non décimal. |
Des quantificateurs peuvent être ajoutés pour spécifier le nombre de fois qu'un caractère peut apparaître.
Quantificateur | La description |
---|---|
* | Zéro ou plus de matches. |
+ | Un ou plusieurs matches. |
? | Zéro ou un match. |
{N} | N matches. |
{N,} | N ou plus de matches. |
{N, M} | Entre N et M correspond. |
La syntaxe du contrôle est la suivante:
<asp:RegularExpressionValidator ID="string" runat="server" ErrorMessage="string"
ValidationExpression="string" ValidationGroup="string">
</asp:RegularExpressionValidator>
Résumé de validation
Le contrôle ValidationSummary n'effectue aucune validation mais affiche un récapitulatif de toutes les erreurs de la page. Le récapitulatif affiche les valeurs de la propriété ErrorMessage de tous les contrôles de validation ayant échoué à la validation.
Les deux propriétés suivantes, mutuellement incluses, répertorient le message d'erreur:
ShowSummary: affiche les messages d'erreur au format spécifié.
ShowMessageBox: affiche les messages d'erreur dans une fenêtre séparée.
La syntaxe du contrôle est la suivante:
<asp:ValidationSummary ID="ValidationSummary1" runat="server"
DisplayMode = "BulletList" ShowSummary = "true" HeaderText="Errors:" />
Groupes de validation
Les pages complexes comportent différents groupes d'informations fournis dans différents panneaux. Dans ce cas, il peut être nécessaire d’effectuer la validation séparément pour un groupe distinct. Ce type de situation est géré à l'aide de groupes de validation.
Pour créer un groupe de validation, vous devez placer les contrôles d'entrée et les contrôles de validation dans le même groupe logique en définissant leur propriété ValidationGroup.
Exemple L'exemple suivant décrit un formulaire à remplir par tous les élèves d'une école, divisée en quatre maisons, pour élire le président de l'école. Ici, nous utilisons les contrôles de validation pour valider l'entrée utilisateur.
C'est la forme en mode conception:
Le code du fichier de contenu est le suivant:
<form id="form1" runat="server">
<table style="width: 66%;">
<tr>
<td class="style1" colspan="3" align="center">
<asp:Label ID="lblmsg"
Text="President Election Form : Choose your president"
runat="server" />
</td>
</tr>
<tr>
<td class="style3">
Candidate:
</td>
<td class="style2">
<asp:DropDownList ID="ddlcandidate" runat="server" style="width:239px">
<asp:ListItem>Please Choose a Candidate</asp:ListItem>
<asp:ListItem>M H Kabir</asp:ListItem>
<asp:ListItem>Steve Taylor</asp:ListItem>
<asp:ListItem>John Abraham</asp:ListItem>
<asp:ListItem>Venus Williams</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:RequiredFieldValidator ID="rfvcandidate"
runat="server" ControlToValidate ="ddlcandidate"
ErrorMessage="Please choose a candidate"
InitialValue="Please choose a candidate">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style3">
House:
</td>
<td class="style2">
<asp:RadioButtonList ID="rblhouse" runat="server" RepeatLayout="Flow">
<asp:ListItem>Red</asp:ListItem>
<asp:ListItem>Blue</asp:ListItem>
<asp:ListItem>Yellow</asp:ListItem>
<asp:ListItem>Green</asp:ListItem>
</asp:RadioButtonList>
</td>
<td>
<asp:RequiredFieldValidator ID="rfvhouse" runat="server"
ControlToValidate="rblhouse" ErrorMessage="Enter your house name" >
</asp:RequiredFieldValidator>
<br />
</td>
</tr>
<tr>
<td class="style3">
Class:
</td>
<td class="style2">
<asp:TextBox ID="txtclass" runat="server"></asp:TextBox>
</td>
<td>
<asp:RangeValidator ID="rvclass"
runat="server" ControlToValidate="txtclass"
ErrorMessage="Enter your class (6 - 12)" MaximumValue="12"
MinimumValue="6" Type="Integer">
</asp:RangeValidator>
</td>
</tr>
<tr>
<td class="style3">
Email:
</td>
<td class="style2">
<asp:TextBox ID="txtemail" runat="server" style="width:250px">
</asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="remail" runat="server"
ControlToValidate="txtemail" ErrorMessage="Enter your email"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
</asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td class="style3" align="center" colspan="3">
<asp:Button ID="btnsubmit" runat="server" onclick="btnsubmit_Click"
style="text-align: center" Text="Submit" style="width:140px" />
</td>
</tr>
</table>
<asp:ValidationSummary ID="ValidationSummary1" runat="server"
DisplayMode ="BulletList" ShowSummary ="true" HeaderText="Errors:" />
</form>
Le code derrière le bouton de soumission:
protected void btnsubmit_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
lblmsg.Text = "Thank You";
}
else
{
lblmsg.Text = "Fill up all the fields";
}
}