Captcha

Durch Kombination von Kalkulatoren, Renderern und Validierern lässt sich eine Captcha-Abfrage erzeugen.

In der ersten Komponente captcha wird über einen Zufallsgenerator eine Zeichenfolge erzeugt. Der RandomLettersCalculator erzeugt ohne zusätzliche Parameter eine Folge von 5 bis 8 Großbuchstaben.

In der Komponente input erfolgt die eigentliche Prüf-Eingabe. Der Validierer erfordert eine Pflichteingabe und vergleicht die Eingabe mit dem Wert aus captcha. Ohne gültige Eingabe kann das Formular nicht verlassen werden. Durch die grundsätzlich sofortige Validierung der Eingabe ist das Verhalten etwas anders als bei Captcha-Abfragen üblich, da hier sofort der Fehler markiert wird. Da es aber nur vor maschineller Formularbedienung schützen soll, macht das keinen Unterschied, ob das Ergebnis erst beim Submit oder schon direkt bei der Eingabe gesendet wird, da für beide ein AJAX-Request notwendig ist.

Über die Komponente reset kann ein neues Captcha erzeugt werden. Das ist realisiert, in dem die captcha-Komponente einen dynamischen Kalkulator besitzt, der wieder den RandomLettersCalculator ausführt. Um die Neuberechnung auszulösen, ist ein Trigger angegen, der auf Änderungen der Komponente reset reagiert. Dadurch ist eine Abhängigkeit hergestellt, die bei einer Änderung an reset den Kalkulator auslöst.

Formular
*
captcha
*