• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-03-2010, 11:21   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 37
Validator mit RemoteObject

Hallöchen

Ich arbeite zur Zeit an einer Flex-Komponente zum Registrieren von neuen Benutzern.

Kurz zu dem Projekt:
Es handelt sich um eine Flex/Java Anwendung. Alle Service-Funktionen sind aus Flex heraus erfolgreich getestet und funktionieren wie gewünscht.

Nun aber zu meinem Problem:
Ich möchte nach der Eingabe eines Benutzernamens, dass via Service-Methode nachgesehen wird, ob es den Namen in der SQL-Datenbank schon gibt oder nicht.

Dafür habe ich einen Validator geschrieben:

Code:
public class CheckBenutzername extends Validator
	{
		private var resultArray:Array = new Array();
		
		public function CheckBenutzername()
		{
			super();
		}
		
		override protected function doValidation(value:Object):Array
		{	
			var benutzerService:RemoteObject = new RemoteObject();
			
			benutzerService.destination("benutzerService");
			
			benutzerService.addEventListener(ResultEvent.RESULT , onResult);
			benutzerService.addEventListener(FaultEvent.FAULT, onFault);
			
			var name:String = "";
			
			if (value is String)
				name = String(value)
			else
				name = value.toString();
			
			// Service-Methode 
			var benutzer:Benutzer = benutzerService.findBenutzerByName(name);	
			
			resultArray.push(
				new ValidationResult(true, null, "zeichen",
				"Test"));
			
			return resultArray;		
		}
		
		private function onResult(event:ResultEvent):void{
			// TODO
		}
		
		private function onFault(event:FaultEvent):Array{
			
			resultArray.push(
				new ValidationResult(true, null, "zeichen",
				event.fault.faultString));
			
			return resultArray;
		}		
	}

Den Validator benutze ich so:

Code:
	

...

<mx:TextInput id="benutzernameInputID" maxChars="255" width="250"/>

...

<!--Validierung-->
	
	<validators:CheckBenutzername id="checkName"	
		source="{benutzernameInputID}"
		property="text"
		triggerEvent="focusOut"
		required="true"
	 />
Zur Zeit passiert leider gar nichts wenn ich einen Namen eingebe und zum nächsten Feld wechsle.

Das Problem ist, dass ich ja via RemoteObject auf den Server zugreifen muss. Da Flex das aber asynchron macht habe ich nun das Problem, dass ich immer nur ein leeres Array zurückgeben kann und somit der Validator immer „kein Fehler“ zurückgibt.

Also das ist zumindest meine Vermutung. Ich bin in dem Gebiet auch noch recht frisch.

Wie kann ich also dem Validator beibringen, dass er auf das Ergebnis des Server warten soll, bis er das resultArray
zurückgibt?

Oder sollte ich das alles eventuell ganz anders machen? Kann ja gut sein, dass ich auf dem falschen Dampfer bin.
Jarell ist offline   Mit Zitat antworten
Alt 02-03-2010, 11:26   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Mach es in ActionScript. Zuerst den Service ansprechen, dann den Validator anschmeißen.
Omega Psi ist offline   Mit Zitat antworten
Alt 03-03-2010, 07:47   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 37
Hmm ja, der Anstoß hat mich in die richtige Richtung gelenkt. Dank dir!

Habe den Service jetzt außerhalb der Validator-Klasse aufgerufen und in den result/fault-handlern dann den Validator gestartet. Dem Validator habe ich noch eine weitere Variable hinzugefügt, mit der ich dann testen kann, ob es einen Benutzer mit diesem Namen schon gibt oder nicht.

Falls wen die Details interessieren einfach Bescheid geben.
Jarell ist offline   Mit Zitat antworten
Alt 03-03-2010, 08:04   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Ich denke, die Erläuterung ist schon für viele Hilfe genug. Super das die Lösung funktioniert.
Omega Psi ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
RemoteObject Standardüberprüfung nach jedem Result alife Flex programmieren 13 30-06-2009 12:28
Flex 3 AMF / RemoteObject Verständnisfrage fred am rechner Flex programmieren 4 22-09-2008 13:26
Flex 3 aund Pfad zu RemoteObject Slashwalker Flex allgemein 1 03-05-2008 20:40
spinnt der CSS Validator? automatix HTML und CSS 11 29-11-2006 22:12
Validator in deutscher Sprache Brigitte Am Rande 0 29-06-2004 15:35


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:23 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele