Array-Validierung in Laravel
Beim Umgang mit Array-Daten in Laravel treten Validierungsprobleme auf. Wenn Sie eine leere POST-Anfrage senden, gehen Sie davon aus, dass die Validierung fehlschlägt, sie wird jedoch als wahr zurückgegeben.
Lösung
Das Problem liegt darin, wie Sie das Array validieren. Das Sternchen (*)-Symbol in Laravel validiert die einzelnen Werte innerhalb des Arrays, nicht das Array selbst. Um das Array zu validieren, verwenden Sie die folgende Syntax:
$validator = Validator::make($request->all(), [ "names" => "required|array|min:3", "names.*" => "required|string|distinct|min:3", ]);
Erklärung
In diesem Beispiel:
Mit dieser aktualisierten Validierungslogik schlagen leere POST-Anfragen wie erwartet fehl.
Validierungsverbesserungen in Laravel 5.5
Ab Laravel 5.5 können Sie eine vereinfachte Syntax verwenden für die Array-Validierung durch Aufruf der Methode „validate()“ direkt für das Request-Objekt:
$data = $request->validate([ "names" => "required|array|min:3", "names.*" => "required|string|distinct|min:3", ]);
Das obige ist der detaillierte Inhalt vonWie validiert man Arrays in Laravel ordnungsgemäß?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!