Autoriser seulement certains caractères dans une zone de texte (C#)
par Christian Wenz
ASP.NET contrôles de validation peuvent garantir que seuls certains caractères sont autorisés dans l’entrée utilisateur. Toutefois, cela n’empêche toujours pas les utilisateurs de taper des caractères non valides et d’essayer d’envoyer le formulaire.
Vue d’ensemble
ASP.NET contrôles de validation peuvent garantir que seuls certains caractères sont autorisés dans l’entrée utilisateur. Toutefois, cela n’empêche toujours pas les utilisateurs de taper des caractères non valides et d’essayer d’envoyer le formulaire.
Étapes
Le ASP.NET AJAX Control Toolkit contient le FilteredTextBox
contrôle qui étend une zone de texte. Une fois activé, seul un certain ensemble de caractères peut être entré dans le champ.
Pour que cela fonctionne, nous avons d’abord besoin comme d’habitude de l’ASP.NET AJAX ScriptManager
qui charge les bibliothèques JavaScript qui sont également utilisées par le ASP.NET AJAX Control Toolkit :
<asp:ScriptManager ID="asm" runat="server" />
Ensuite, nous avons besoin d’une zone de texte :
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />
Enfin, le FilteredTextBoxExtender
contrôle se charge de restreindre les caractères que l’utilisateur est autorisé à taper. Tout d’abord, définissez l’attribut TargetControlID
sur le ID
TextBox
du contrôle. Ensuite, choisissez l’une des valeurs disponibles FilterType
:
Custom
Par défaut; vous devez fournir une liste de caractères validesLowercaseLetters
minuscules uniquementNumbers
chiffres uniquementUppercaseLetters
majuscules uniquement
Si est Custom FilterType
utilisé, la ValidChars
propriété doit être définie et fournir une liste de caractères qui peuvent être tapés. Au fait : si vous essayez de coller du texte dans la zone de texte, tous les caractères non valides sont supprimés.
Voici le balisage pour le FilteredTextBoxExtender
contrôle qui autorise uniquement les chiffres (ce qui aurait également été possible avec FilterType="Numbers"
) :
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox1" ValidChars="1234567890" />
Exécutez la page et essayez d’entrer une lettre si JavaScript est activé, cela ne fonctionnera pas ; toutefois, les chiffres s’affichent sur la page. Toutefois, notez que la protection FilteredTextBox
fournit n’est pas à l’épreuve des puces : si JavaScript est activé, toutes les données peuvent être entrées dans la zone de texte. Vous devez donc utiliser des moyens de validation supplémentaires, par exemple ASP. Contrôles de validation de NET.
Seuls les chiffres peuvent être entrés (Cliquez pour afficher l’image en taille réelle)