Form - Was sollte man alles validieren?
am 15.10.2011 - 00:28 Uhr in
Halli Hallo,
ich wollte mal nachfragen, was man alles bei einem Formular (Form) validieren sollte.
Nur Textfelder und Textareas?
Wie sieht es mit type "hidden", "item" usw. aus?
Was erledigt Drupal, was sollte ich (als Entwickler) noch alles überprüfen?
Eventuell bin ich zu blöd zum googlen, finde da keinen richtigen Artikel dazu.
Vielen Dank für die Hilfe im Vorraus.
- Anmelden oder Registrieren um Kommentare zu schreiben

Validierung
am 15.10.2011 - 10:33 Uhr
Hallo.
Drupal validiert sämtliche Felder des Formulars auf Typsicherheit und eventuellen Schadcode. Du als Entwickler solltest alles das validieren, was nicht in dieses Standard-Schema passt, also beispielsweise "montags dürfen nur Titel mit mehr als 40 Zeichen eingegeben werden".
D.h. bei einer Checkbox wird
am 15.10.2011 - 11:35 Uhr
D.h. bei einer Checkbox wird beispielsweise überprüft, ob der übertragene Wert den Werten der Checkbox entspricht?
Was man also validieren sollte, sind bestimmte Fälle wie der erwähnte mit dem Montag.
Vielen Dank.
Validierung
am 15.10.2011 - 11:42 Uhr
D.h. bei einer Checkbox wird beispielsweise überprüft, ob der übertragene Wert den Werten der Checkbox entspricht?
Im Prinzip ja (wobei die Checkbox aufgrund der fehlenden Vielfalt an Möglichkeiten als Beispiel nur bedingt gut geeignet ist :)).
Was man also validieren sollte, sind bestimmte Fälle wie der erwähnte mit dem Montag.
Genau. Du definierst ja, was genau Du in dem Formular erlauben möchtest. Wenn diese Regeln über die einfachen Regeln von Drupal hinausgeht (z.B. "ist der gewählte Wert in der Liste der erlaubten Werte vorhanden"), kommt die eigene Validierung ins Spiel.
Wie meine Vorposter schon
am 15.10.2011 - 21:26 Uhr
Wie meine Vorposter schon geschrieben haben, validiert Drupal Eingaben automatisch.
Wenn du selbst entwickelst, solltest du ALLE (!) Elemente validieren. Warum? Da der HTML-Code für die Formulare beim User ankommt und der Server quasi keine Kontrolle mehr darüber hat, kann der User mit dem Formular machen, was er will. Ganz komfortabel zum Beispiel mit Firebug. So kann er zum Beispiel aus einer Auswahlliste ein Textfeld machen - mit entsprechenden Möglichkeiten. Deswegen immer alles validieren.
Apropos: Verlasse dich nie nur auf die Validierung per Javascript. JS kann vom User ausgeschaltet werden. Da es außerdem ebenfalls beim Client ausgeführt wird, kann der User auch hier den Code verändern. JS-Validierung ist gut, damit der User ein schnelles Feedback bekommt und die Fehlermeldungen nicht erst nach dem Senden auftauchen, aber es nicht für ernsthafte Validierung geeignet.