Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

10avr/088

Flex Validator: Exemple de EmailValidator en MXML et ActionScript

Le composant Flex EmailValidator vous permet de valider des chaînes dont le format est celui d'une adresse email. Cette opération souvent fastidieuse avec des langages tels que le JavaScript est ici fait très facilement avec ce Validator. Les seules propriétés à définir sont les propriétés de base: source et property. Le composant EmailValidator fera ensuite toutes les vérifications (présences d'un @, d'un point et d'une extension ...).

Flex Validator: Personnaliser les tooltip d’erreur du EmailValidator

L' exemple suivant montrent comment utiliser ce composant Flex EmailValidator en MXML:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" viewSourceURL="srcview/index.html">

    <mx:Script>
        import mx.controls.Alert;
    </mx:Script>

    <mx:EmailValidator source="{email}" property="text"
        trigger="{myButton}" triggerEvent="click"
        valid="Alert.show('Le champ est valide');"/>

    <mx:Panel title="Exemple simple de EmailValidator" width="75%" height="75%"
        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">

        <mx:Form>
            <mx:FormItem label="Entrez une adresse email: ">
                <mx:TextInput id="email" width="100%"/>
            </mx:FormItem>

            <mx:FormItem >
                <mx:Button id="myButton" label="Valider" />
            </mx:FormItem>
        </mx:Form>
    </mx:Panel>
</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.EmailValidator;
			public function initApp():void{
				var emailValidator:EmailValidator = new EmailValidator();
				emailValidator.source = email;
				emailValidator.property = "text";
			}
		]]>
	</mx:Script>

    <mx:Panel title="Exemple simple de EmailValidator" width="75%" height="75%"
        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">

        <mx:Form>
            <mx:FormItem label="Entrez une adresse email: ">
                <mx:TextInput id="email" width="100%"/>
            </mx:FormItem>

            <mx:FormItem >
                <mx:Button id="myButton" label="Valider" />
            </mx:FormItem>
        </mx:Form>
    </mx:Panel>
</mx:Application>

Articles similaires

Commentaires (8) Trackbacks (1)
  1. Vraiment de bonne qualité ton site! Tu bosses ou? Sinon j'ai une quick question sur les validators, comment peut on afficher l'erreur lors du clic sur un bouton?

  2. Merci ^^. Je travaille chez Business Geografic à Lyon.
    Pour ta question, je ne comprend pas vraiment, dans l'exemple de cette page,la validation se fait lors du clic sur le bouton seulement (si tu perd le focus sur le composant, la validation n'est pas faîte). Donc je dirai qu'il faut utiliser les propriétés trigger et triggerEvent, comme dans cet exemple en fait :P

  3. Non en fait, j'ai lu aussi la doc ;-) Je cherche à afficher l'erreur directement, pas juste highlighter le textbox en rouge.

    Mais comme tous les composants flex, dès que tu veux un truc un peu spécial, il faut chercher dans les sources ou les blogs, d'ailleurs apparement ils ont pas prévu cela, j'ai demandé ça à un pote qui travail chez Adobe sur londres et ils ont directement refait un validator pour pouvoir mieux le maitriser (genre effet d'apparition, contrôler 100% du skin, l'afficher quand on le veut etc...)

  4. Au pire, tu peux ajouter un toolTip ayant le style errorToolTip à l'endroit où se trouve ton composant ^^

  5. Ouai c'est ce que je fais à chaque fois, mais je voulais savoir si qql connaissait la solution

  6. Désolé je sais que le topic n'est pas le bon, mais j'ai cherché ailleur et en vain, alors je m sui dit pq pas poster ici. je cherche à exporter une application flex/J2EE en release build pour la deployer sur un autre serveur tomcat sécurisé avec SSL, mais flex builder 3 me genere cette erreur “An error has occurred. See error log for more details.java.lang.NullPointerException”.

    Svp j'ai besoin de votre aide et le plus vite possible. et Merci d'avance.

  7. Effectivement, ce n'est pas le bon topic mais admettons ^^. Pour ce NullPointerException, il peut y avoir de nombreuses raisons. certaines sont traitées dans cet article :
    http://9mmedia.com/blog/?p=165
    Au menu, des switch() vide, des ; manquants, enfin bref, des erreurs de code. Cela peut aussi venir d'autre chose. Essaie de voir le error log (comme te l'indique l'erreur) et cherche l'erreur exacte dans google, tu devrais trouver ce qui te convient :)

    Fabien

  8. Bon je me permet encore de repondre ici. J'ai résolu mon problème en exportant mon application sous format .war tout simplement.

    Merci pour vos reponses.


Leave a comment

(required)