IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Autoriser seulement certains caractères dans un TextBox

Les contrôles ASP.NET de validation peuvent faire en sorte que seuls certains caractères soient autorisés dans les saisies utilisateur. Toutefois, ils ne peuvent pas empêcher les utilisateurs de taper des caractères invalides et d'essayer de soumettre le formulaire.

Article lu   fois.

Les deux auteurs

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Traduction

Cet article est la traduction la plus fidèle possible de l'article original de Christian Wenz: Allowing Only Certain Characters in a Text Box

Présentation

Les contrôles ASP.NET de validation peuvent faire en sorte que seuls certains caractères soient autorisés dans les saisies utilisateur. Toutefois, ils ne peuvent pas empêcher les utilisateurs de taper des caractères invalides et d'essayer de soumettre le formulaire.

Étapes

Le Control Toolkit ASP.NET AJAX contient le contrôle FilteredTextBox qui étend les fonctionnalités d'une zone de texte. Une fois activé, seuls certaines caractères peuvent être saisis dans le champ.

Pour cela, nous avons besoin dans un premier temps du contrôle ASP.NET AJAX ScriptManager qui charge les bibliothèques JavaScript qui sont aussi utilisés par le ASP.NET AJAX Control Toolkit:

 
Sélectionnez
<asp:ScriptManager ID="asm" runat="server" />

Ensuite, nous avons besoin d'une zone de texte:

 
Sélectionnez
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />

Enfin, le contrôle FilteredTextBoxExtender prend soin de limiter les caractères que l'utilisateur est autorisé à saisir. Tout d'abord, définissez l'attibut TargetControlID à la valeur de l'identifiant du contrôle TextBox. Ensuite, choisissez l'une des valeurs suivantes pour FilterType:

  • Custom : par défaut, vous devez fournir une liste des caractères valides.
  • LowercaseLetters : lettes minuscules uniquement
  • Numbers : chiffres uniquement
  • UppercaseLetters : lettres majuscules uniquement

Si l'attribut Custom est utilisé, la propriété ValidChars doit être définie et doit fournir une liste de caractères autorisés. De plus, si vous essayez de coller du texte dans la zone, tous les caractères non valides seront supprimés.

Voici le code pour le contrôle FilteredTextBoxExtender qui permet uniquement la saisie de chiffres (ceci aurait également été possible en utilisant FilterType="Numbers") :

 
Sélectionnez
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server" 
	TargetControlID="TextBox1" ValidChars="1234567890" />

Exécutez la page et essayer de saisir une lettre. Si JavaScript est activé, ce ne sera pas possible. Seulement les chiffres apparaissent sur la page. Mais notez que la protection offerte par FilteredTextBox n'est pas l'épreuve des balles : si JavaScript est désactivé, n'importe quelle donnée peut être saisie dans la zone de texte, vous devez donc utiliser des moyens suplémentaires de validation, c'est-à-dire les contrôles de validation d'ASP.NET.

Image non disponible
Seulement des chiffres peuvent être saisis

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2009 Equipe Dotnet. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.