Bonjour,
j'étends actuellement un validateur afin de bloquer l'envoi du formulaire si l'utilisateur entre un pseudo déjà en base (unicité du pseudo).
Voici une partie du code incriminé :
Le problème est le suivant : du au mode asynchrone (?) mon attribut _retour est mis à jour après mon test if(_retour == false) ce qui fait que je passe toujours dans ce if...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 ... override protected function doValidation(value:Object):Array { _ro = new RemoteObject(); _ro.destination = "zend"; _ro.source = "ServiceClasse"; _ro.addEventListener(ResultEvent.RESULT, result); _ro.addEventListener(FaultEvent.FAULT, fault); _ro.isUniquePseudo(value); var universCap:String = value.univers.charAt(0).toUpperCase() + value.univers.substr(1, value.univers.length - 1); if(_retour == false) _results.push(new ValidationResult(true, null, "PasUnique", "Le pseudo entré existe déjà pour l'univers "+ universCap)); return _results; } private function result(event:ResultEvent):void { _retour = event.result as Boolean; } private function fault(event:FaultEvent):void { _results.push(new ValidationResult(true, null, "ErreurServeur", "Une erreur serveur est survenue lors de la validation du compte")); } ...
Comment faire pour que que ma fonction result soit executée avant mon test du if ? En gros que mon événement soit écouté avant mon if ?
Merci de votre aide
Partager