Formularprüfung


Javascript – Formularfelder prüfen

Wer einen Onlineshop betreibt und für die Bestellabwicklung Daten von seinen Kunden benötigt, stellt in der Regel ein Formular zur Eingabe zur Verfügung. Ob die Eingaben vollständig sind, kann per PHP auf dem Server oder per Javascript schon vor dem Senden des Formulars daraufhin überprüft werden, ob ein Feld überhaupt einen Inhalt hat und ob der Inhalt aus erlaubte Zeichen besteht.

Im folgenden Beispiel wird das Formular mit dem Namen „kontakt“ mittels der Funktion „formularcheck()“ überprüft. Das Feld „name“ für den Namen des Surfers wird dahingehend geprüft, ob es Zeichen enthält, und wenn ja, ob es sich dabei um Buchstaben beziehungsweise um einen Bindestrich für Doppelnamen handelt. Außer bei Amerikanern und bei Mitgliedern einer Adelsdynastie ist die Angabe von Zahlen nicht üblich und wird hier ausgeschlossen.

Nachdem die Funktion „formularcheck()“ aufgerufen wurde, werden zunächst die benötigten Variablen eingeführt. Dabei werden in der Variablen „erlaubt“ die Zeichen für eine korrekte Eingabe definiert. Der Inhalt des Formularfeldes „name“ wird in der Variablen „eingabe“ zwischengespeichert. Dann wird „eingabe“ mit der Methode „toLowerCase()“ auf Kleinbuchstaben gesetzt, denn als faule Programmierer hatten wir oben keine Lust, die Großbuchstaben dem Satz an erlaubten Zeichen hinzuzufügen. Da später jedes Zeichen von „eingabe“ einzeln geprüft werden muss, benötigen wir noch die Gesamtzahl der eingegebenen Zeichen. Die wird in der Variablen „laenge“ gespeichert. In der ersten „if“-Abfrage wird nun geprüft, ob das Formularfeld „name“ überhaupt irgendwelche Zeichen enthält. Tut es das nicht, wird eine entsprechende Fehlermeldung ausgegeben und „false“ zurückgegeben. Das Abschicken des Formulars wird so unterbunden.

Enthält das Feld Zeichen, werden im nächsten Schritt in einer „for“-Schleife sämtliche Zeichen mit den erlaubten verglichen. Dazu wird in jedem Durchgang, angefangen von 0, dem ersten Zeichen, bis zum Ende der Zeichenkette, „laenge“, die Variable „c“ um 1 hochgezählt. Mit der Methode „charAt()“ wird so jedes einzelne Zeichen nacheinander herausgelöst, in „d“ gespeichert und danach in der folgenden „if“-Abfrage mit dem vorhandenen Zeichensatz verglichen. Sobald ein nicht erlaubtes Zeichen auftaucht, wird die Schleife abgebrochen, eine Fehlermeldung ausgegeben und das Senden der Daten unterdrückt.