Formular-Validierung: PHP oder JavaScript?

Zweipunktnull

Commander
Registriert
Dez. 2004
Beiträge
2.546
Hallo!

Es geht um's Thema Formular-Validierung.
Als ich Anfing PHP zu lernen, wurde mir mal gesagt bzw. habe ich mal gelesen, man solle Formular-Eingaben nicht zu aufwändig mit PHP validieren. Es hieß dort, dass für solche Aufgaben JavaScript bestens geeignet wäre und man doch dieser Sprache die Validierung der Formulareingaben überlassen solle.
Nun, da ich lange Zeit kein JavaScript beherrschte, habe ich "zwangsläufig" sämtliche Validierungsaufgaben mit PHP gelöst.
Seit einiger Zeit beschäftige ich mich nun aber doch endlich auch mal mit JavaScript und jetzt stellt sich mir die Frage, wie ich nun - wo ich beide Möglichkeiten zur Verfügung habe - Formulareingaben validieren sollte.
Einerseits hieß es damals, dass JavaScript u.a. extra dafür gemacht wurde und das an dieser Stelle eine "Arbeitsteilung" sehr sinnvoll wäre.
Andererseits aber habe ich sozusagen viel "Angst" JavaScript einzusetzen wegen der ganzen "Panikmache" im Internet. Jedem wird empfohlen JavaScript abzuschalten, es wird sogar gefordert, NoScript in den "Standard-Firefox" zu integrieren und aktivieren.
Nun, und was nützt mir eine noch so schöne JavaScript Formular-Validierung, wenn die Benutzer JavaScript einfach ausgeschaltet haben (ausschalten können)? Damit wäre dann schließlich der gesamte Mechanismus umgangen...

Deswegen die Frage: Mit welcher Sprache sollte man (heutzutage) Formulareingaben validieren? Mit JavaScript oder doch lieber mit PHP?

MfG
Computer Freak
 
Zuletzt bearbeitet:
Es muß immer serverseitig validiert werden, sonst kann man sich die clientseitige Validierung gleich sparen, da die clientseitige Validierung außerhalb des Einflußbereiches des Sitebetreibers liegt. Eine clientseitige Validierung ist immer ein convenience-feature, wobei der Grad der Annehmlichkeiten von rudimentär bis desktop-like reichen kann. Erstere ist die "klassische Form", bei der der submit-Event des form-Elements die Validierung anstößt und im Fehlerfall den Vorgang abbricht, letztere wäre das, was man heutzutage "web 2.0" nennt, also eine ad hoc-Validierung, sobald der User eine Aktion ausgeführt hat.

greetings, Keita
 
Ja, das habe ich mir ja auch schon gedacht. Wenn der User JS abgeschaltet hat, dann waren alle Validierungsmaßnahmen umsonst. Ich war halt nur etwas verunsichert, weil ich wie gesagt mal in einem Buch mal gelesen hatte, das man JS für Validierungsaufgaben nehmen solle... dann war das wohl Mist.

Allerdings sehe ich auch nicht wirklich den Sinn einer "doppelten Validierung". Schließlich gibt die serverseitige Validierung ja bereits im Falle eines Falles eine Fehlermeldung aus.. Da muss ich die ganze Geschichte ja nicht auch noch Clientseitig überprüfen.. Den einzigsten Vorteil, den ich im Moment sehe wäre, dass die jeweilige Seite nicht neugeladen werden müsste, sondern JS direkt stoppt. Aber das finde ich jetzt nicht umbedingt so überzeugend, um alles doppelt zu kontrollieren..
 
Hallo,

natürlich muss eine clientseitige Validierung nicht unbedingt sein, doch sie macht es dem User angenehmer.

Stelle dir vor, da sitzt jemand (mit einer schlechten Leitung) und klickt auf abschicken. Der hat dann ein Feld vergessen und muss nochmal abschicken, nachdem er die Meldung bekommen hat. Dann sieht er, dass irgendein anderes Feld ein falsches Format hat o.ä.

Wenn er die Seite immer neu laden muss, dann nervt ihn das schon nach kurzer Zeit. Wird er jedoch irgendwie darauf hingewiesen, dass etwas nicht stimmt, und das geschieht unmittelbar während / nach der Eingabe, dann schont das die Nerven ;)

Aber im Ernst: Im Endeffekt ist es dir überlassen, ob du clientseitig überprüfst. Aber wie Keita schon erwähnte ist eine serverseitige Validierung unbedingt nötig!

Gruß
FreeZeY
 
Ich mach meistens beides. Ist ja i.d.R. schnell gemacht und bietet dem User ne hohe Benutzerfreundlichkeit und dem Admin ne hohe Sicherheit, dass kein Mist in die Datenbank/Mail/etc kommt.
 
Ist zwar jetzt ne doofe Frage aber : Was heisst Validierung?
*verschämt in die ecke guck*
 
Zurück
Oben