Partager via


Comment : valider par rapport à des modèles pour les contrôles serveur ASP.NET

Mise à jour : novembre 2007

Vous pouvez vérifier qu'une entrée d'utilisateur correspond à un critère prédéfini, tel qu'un numéro de téléphone, un code postal, une adresse électronique, etc. Pour ce faire, vous utilisez une expression régulière. Pour plus d'informations sur les expressions régulières, consultez Expressions régulières du .NET Framework.

Note de sécurité :

Par défaut, les pages Web ASP.NET valident automatiquement que des utilisateurs malveillants n'essaient pas d'envoyer des éléments de script ou HTML à votre application. Pour plus d'informations, consultez Vue d'ensemble des attaques de script.

Pour effectuer une validation par rapport à une expression régulière

  1. Ajoutez un contrôle RegularExpressionValidator à la page et définissez les propriétés suivantes :

    Propriété

    Description

    ControlToValidate

    L'ID du contrôle que vous validez.

    ErrorMessage, Text, Display

    Propriétés spécifiant le texte et l'emplacement des erreurs qui s'afficheront si la validation échoue. Pour plus d'informations, consultez Comment : contrôler l'affichage des messages d'erreur de validation pour les contrôles serveur ASP.NET.

  2. Définissez le critère de comparaison en définissant la propriété ValidationExpression avec une expression régulière.

    Remarque :

    Si vous utilisez un concepteur visuel tel que Visual Studio .NET 2005, vous pouvez sélectionner des critères prédéfinis présents dans le contrôle RegularExpressionValidator.

    Si vous souhaitez autoriser plusieurs critères valides, utilisez le caractère barre verticale (|) pour séparer les expressions.

    Remarque :

    Dans la validation côté client, les expressions régulières sont évaluées à l'aide de ECMAScript (JavaScript). La vérification des expressions régulières côté serveur n'en diffère que très légèrement.

  3. Ajoutez un test dans votre code de page Web ASP.NET afin de vérifier la validité. Pour plus d'informations, consultez Comment : tester par programme la validité pour les contrôles serveur ASP.NET.

    L'exemple suivant montre comment utiliser un contrôle RegularExpressionValidator pour vérifier si les utilisateurs ont entré un code postal valide. Le validateur vérifie deux critères : cinq chiffres, et cinq chiffres suivis d'un trait d'union suivi de quatre autres chiffres.

    ZIP: <asp:TextBox id="txtZIP" runat="SERVER"></asp:TextBox>
         <asp:RegularExpressionValidator 
           id="txtZIP_validation" runat="SERVER" 
           ControlToValidate="txtZIP" 
           ErrorMessage="Enter a valid US ZIP code."
           ValidationExpression="\d{5}(-\d{4})?">
         </asp:RegularExpressionValidator>
    
    ZIP: <asp:TextBox id="txtZIP" runat="SERVER"></asp:TextBox>
         <asp:RegularExpressionValidator 
           id="txtZIP_validation" runat="SERVER" 
           ControlToValidate="txtZIP" 
           ErrorMessage="Enter a valid US ZIP code."
           ValidationExpression="\d{5}(-\d{4})?">
         </asp:RegularExpressionValidator>
    

Voir aussi

Concepts

Types de validation pour les contrôles serveur ASP.NET

Autres ressources

Contrôles ASP.NET de validation