Restriction de la saisie de texte

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

Les champs de texte de saisie sont souvent utilisés dans les formulaires et les boîtes de dialogue des applications. Il peut donc être judicieux de limiter le type de caractères que l’utilisateur peut saisir, ou même de masquer la saisie (pour un mot de passe par exemple). La classe flash.text.TextField possède une propriété displayAsPassword et une propriété restrict qui permettent de contrôler la saisie par l’utilisateur.

La propriété displayAsPassword masque simplement le texte (en l’affichant sous forme d’astérisques) à mesure que l’utilisateur le saisit. Lorsque displayAsPassword a la valeur true, les commandes Couper et Copier, ainsi que les raccourcis clavier correspondants ne fonctionnent pas. Comme le montre l’exemple suivant, vous pouvez attribuer la propriété displayAsPassword, comme vous le feriez pour des propriétés d’arrière-plan et de couleur :

myTextBox.type = TextFieldType.INPUT; 
myTextBox.background = true; 
myTextBox.displayAsPassword = true; 
addChild(myTextBox);

La propriété restrict est légèrement plus compliquée, puisque vous devez spécifier les caractères que l’utilisateur peut saisir dans le champ de texte. Il est possible d’autoriser la saisie de lettres spécifiques et de nombres, mais aussi de plages de lettres, de nombres et de caractères. Le code ci-après permet à l’utilisateur de saisir uniquement des lettres majuscules (pas de nombres, ni de caractères spéciaux) dans le champ de texte :

myTextBox.restrict = "A-Z";

ActionScript 3.0 utilise le tiret pour définir les séries et le caractère circonflexe pour exclure des caractères. Pour plus d’informations sur la définition de restrictions associées à un champ de texte de saisie, voir l’entrée flash.text.TextField.restrict dans le Guide de référence ActionScript 3.0 pour Flash Professional.

Remarque : si vous utilisez la propriété flash.text.TextField.restrict, le moteur d’exécution convertit automatiquement les lettres restreintes en caractères de casse autorisée. Si vous utilisez la propriété fl.text.TLFTextField.restrict (c’est-à-dire si vous utilisez un champ de texte TLF), le moteur d’exécution ignore les lettres restreintes.