Was ist Validierung
Validierung bedeutet, zu prüfen, ob vom Nutzer übermittelte Daten das erwartete Format und die Bedingungen erfüllen. Laravel bietet dafür die einfache, aber leistungsfähigevalidate-Methode am Request-Objekt sowie eigene Form-Request-Klassen.
Validierung im Controller
Nutzung von $request->validate()
Der einfachste Weg ist der Aufruf von $request->validate() im Controller.
Schlägt die Validierung fehl, leitet Laravel automatisch zurück und speichert die Fehler in der Session.
Routen:
validate erwartet ein Array aus Feldname → Regel.
Regeln trennen Sie per Pipe | oder in einem Array.
Wichtige Validierungsregeln
Alle Regeln finden Sie in der offiziellen Dokumentation.
Nutzung der validierten Daten
Der Rückgabewert vonvalidate enthält ausschließlich die validierten Werte – vertrauenswürdig zur Weiterverarbeitung.
Fehleranzeige in Blade
Nach einer fehlgeschlagenen Validierung stellt Laravel automatisch die Variable$errors in allen Views zur Verfügung.
Dafür sorgt die Middleware ShareErrorsFromSession aus der web-Gruppe.
Alle Fehler auflisten
Fehler pro Feld
Mit@error zeigen Sie inline Fehler eines bestimmten Feldes.
Form Requests
Was sind Form Requests
Wenn die Validierungslogik komplexer wird, verlagern Sie sie in eine „Form-Request”-Klasse. Ein Form Request bündelt Validierungs- und Autorisierungslogik in einer eigenen Request-Klasse.Form Request erzeugen
Mitmake:request:
app/Http/Requests/StorePostRequest.php:
rules()
Gibt die Regeln als Array zurück – gleiches Format wie beim validate-Aufruf.
authorize()
Prüft, ob der Nutzer diese Aktion ausführen darf.
true = erlaubt, false = automatisches 403 Forbidden.
Wollen Sie nur angemeldete Nutzer zulassen, prüfen Sie mit auth()->check(). Für Tutorials reicht true.
Injection im Controller
Deklarieren Sie den Form Request einfach als Parameter. Die Validierung läuft vor der Methodenausführung.$request->validated() liefert nur die validierten Daten.
Praxisbeispiel: Post-Formular anlegen und speichern
Kompletter Ablauf: Formular anzeigen, absenden, validieren, speichern.1
Routen definieren
2
Form Request erzeugen
3
Controller implementieren
4
Blade-Template anlegen
Vergessen Sie in Blade-Formularen nicht das
@csrf-Directive – ohne CSRF-Token liefert Laravel Status 419.Nächste Schritte
HTTP-Requests
Frischen Sie das Abrufen von Daten aus dem Request-Objekt auf.