7avr/084
Flex Validator: Exemple de StringValidator en MXML et ActionScript
Le composant StringValidator vous permet de vérifier que la longueur d'une chaîne de caractère est comprise dans un certain intervalle.
Vous avez accès à 2 propriétés:
- minLength: longueur minimale de la chaîne (int)
- maxLength: longueur maximale de la chaîne (int)
Flex Validator: Personnaliser les tooltip d’erreur du StringValidator
L'exemple suivant montre comment utiliser ce composant Flex StringValidator en MXML. Il impose un nombre de caractère entre 6 et 12 pour le deuxième champ texte:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Form id="membershipForm">
<mx:FormItem id="fullNameItem" label="Nom">
<!-- Not validated -->
<mx:TextInput id="fullNameInput"/>
</mx:FormItem>
<mx:FormItem id="userNameItem" label="Nom d'utilisateur">
<mx:TextInput id="userNameInput"/>
</mx:FormItem>
</mx:Form>
<mx:Button label="Valider"/>
<mx:StringValidator source="{userNameInput}" property="text"
minLength="6" maxLength="12"/>
</mx:Application>
Flex Source Code Download: Télécharger le code source complet de l'application
This movie requires Flash Player 11
Pour créer ce composant avec le même comportement en ActionScript, il suffit d'utiliser ce code AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
creationComplete="initApp()">
<mx:Script>
<![CDATA[
import mx.validators.StringValidator;
public function initApp():void{
var strValidator:StringValidator = new StringValidator();
strValidator.source = userNameInput;
strValidator.property = "text";
strValidator.minLength = 6;
strValidator.maxLength = 12;
}
]]>
</mx:Script>
<mx:Form id="membershipForm">
<mx:FormItem id="fullNameItem" label="Nom">
<!-- Not validated -->
<mx:TextInput id="fullNameInput"/>
</mx:FormItem>
<mx:FormItem id="userNameItem" label="Nom d'utilisateur">
<mx:TextInput id="userNameInput"/>
</mx:FormItem>
</mx:Form>
<mx:Button label="Valider"/>
</mx:Application>
Articles similaires
- Flex Validator: Personnaliser les tooltip d'erreur du StringValidator
- Flex Validator: Exemple de PhoneNumberValidator en MXML et ActionScript
- Flex Validator: Exemple de EmailValidator en MXML et ActionScript
- Flex Layout – Positionnement dans un Container Form (Form, FormHeading, FormItem)
- Flex Validator: Exemple de CreditCardValidator en MXML et ActionScript






18 mai 2011
Bonjour,
Petite question concernant les Validators.
J'utilise le même formulaire pour éditer et ajouter un utilisateurs.
Je rends obligatoire le champs mot de passe pour la création mais souhaite lors de l'édition que ce champs ne soit pas obligatoire.
Cela fonctionne comme je le souhaite. Toutefois, lors de l'annulation de la création par exemple le "contour rouge" autour de mon TextField reste.
Je peux le faire disparaitre avec monTextField.errorString="" mais lorsque que j'ai a nouveau besoin de la validation le contour ne réapparait pas.
Connais tu une méthode me permettant de faire ce que je souhaite ?
Merci par avance.
18 mai 2011
Salut Nico,
je tenterai plutôt de jouer avec la propriété "enabled" du Validator plutôt que de modifier l'errorString.
Fabien
18 mai 2011
Merci pour ta réponse...
Je dois certainement louper quelque-chose car je ne parviens pas au résultat escompter....
Avec la propriété Enabled du validator celui ci devient bien entendu désactiver mais si il est actif et que je le désactive le champ reste "Rouge" avec son tooltip "field is required" alors qu'il ne l'est plus.
Exemple de code :
Pour reproduire je coche cb1, je valide en cliquant sur Bp puis je décoche.
Comment ne plus avoir de contour rouge a ce moment ?
Si il y a une solution je suis preneur.
Merci par avance.
18 mai 2011
Le code qui a disparu au dessus