Bei der Verwendung einer XOR-Verzweigung müssen in den Ereignissen, die auf den Konnektor folgen, Bedingungen abgeprüft werden. Je nach Ergebnis wird ein anderer Strang des Prozesses durchlaufen. Bedingungsprüfungen können so komplex werden, dass sie nicht mehr im Ereignis selbst abgebildet werden können. Bei komplexen Bedingungsprüfungen bietet sich daher der Einsatz eines Workers an.

Gliedern Sie in diesen Fällen die Bedingungsprüfung in einen Worker aus und setzen Sie am Ende der Prüfung eine Variable mit entsprechenden Werten, zum Beispiel success/failure. In den Ereignissen können Sie anschließend auf den Inhalt dieser Variable prüfen.

Anwendungsbeispiel

Im Formular Adresseingabe soll ein Anwender seine Adresse eintragen. Anschließend werden die Eingaben geprüft: Sind die Eingaben in Ordnung, wird eine Bestätigungsmail an den Anwender versendet. Entsprechen die Eingaben nicht den zugrunde liegenden Bedingungen, wird ein Korrekturversuch unternommen. Die korrigierten Daten werden dem Benutzer im Formular Adresskorrektur angezeigt. Der Anwender erhält im Anschluss eine Bestätigungsmail mit den korrigierten Daten. Über den Versand der Mail wird der Anwender durch einen abschließenden Alert informiert:

Im Formular Adresseingabe gibt es separate Formularfelder für Straße und Hausnummer (Nr). Das Hausnummernfeld wird jedoch gerne übersehen. Daher sollen die Eingaben nach dem Ausfüllen des Formulars geprüft werden.

Im Editor des Workers Adress-Prüfung werden die Prüfungen definiert, die nach der Eingabe vorgenommen werden sollen.

Folgende Operationen sind vorgesehen:

  • Es wird geprüft, ob im Feld Nr Inhalt vorhanden ist. Wurde das Feld leer gelassen, wird geprüft, ob am Ende der Eingabe des Feldes Straße Zahlen bzw. Zahlen mit einem Kleinbuchstaben eingegeben wurden (um Hausnummern wie zum Beispiel "14a" nicht auszuschließen). Ist dies der Fall, wird die eingegebene Zahl als angenommene Hausnummer ermittelt.
  • Wenn aus dem Feld Straße eine Hausnummer ermittelt werden konnte, soll diese in das Feld Nr geschrieben werden. Gleichzeitig wird die Hausnummer im Feld Straße entfernt.
  • Wurde eine Korrektur vorgenommen, erhält die Variable numberWasGuessed den Eintrag yes. Wurde keine Korrektur vorgenommen, enthält die Variable numberWasGuessed den Eintrag no.

Die Bedingungsprüfung in den Ereignissen bezieht sich nun ausschließlich auf die Variable numberWasGuessed.

Im Ereignis Eingaben nicht ok wird geprüft, ob Korrekturen vorgenommen wurden:
' numberWasGuessed ' === 'yes'.

In Eingaben ok wird auf das Gegenereignis geprüft:
'
numberWasGuessed ' !== 'yes'.

On this Page:
Related Pages:
Related Documentation:
  • No labels