Skip to main content

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ähige validate-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:
Controller:
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 von validate 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.
Mit old('feldname') behalten Sie den zuvor eingegebenen Wert im Formular auch nach einem Fehler.

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

Mit make:request:
Erzeugt 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.
Gibt authorize() false zurück, wird die Controller-Methode nicht ausgeführt und ein 403 zurückgegeben.

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.
Zuletzt geändert am 13. Juli 2026