Zum Hauptinhalt springen

Formulare vollständig validieren

Regel

Alles, was der Browser schickt, kann gefälscht sein.

Deshalb: immer auf dem Server prüfen.

Beispiel

title = (request.form.get("title") or "").strip()
if not title:
error = "Titel fehlt"
elif len(title) > 100:
error = "Titel zu lang"
else:
# speichern
...

Checkliste

  • vorhanden?
  • Typ ok (int/float)?
  • Länge / erlaubte Zeichen?
  • Grenzwerte?
  • Fehlermeldung freundlich, ohne interne Details

Rate mal!

Reicht required im HTML allein?

Auflösung

Nein – hilfreich für UX, aber kein Sicherheitsnetz.

Probiere es selbst

Experiment 1

Leeren Titel ablehnen.

Experiment 2

Max-Länge.

Experiment 3

Zahl mit try/except int.

Übungen

Level 1

3 Validierungsregeln.

Level 2

Code für leeren String.

Level 3

Punkte 0–100 validieren.

Level-3-Lösung
try:
p = int(request.form.get("punkte", ""))
except ValueError:
error = "Zahl bitte"
else:
if p < 0 or p > 100:
error = "0 bis 100"

Mini-Quiz

Mini-QuizWo muss Validierung sicher passieren?

Validierung sitzt! Als Nächstes: Sessions.