Wie validiert man Arrays in Laravel ordnungsgemäß?

Patricia Arquette
Freigeben: 2024-11-25 00:00:44
Original
859 Leute haben es durchsucht

How to Properly Validate Arrays in Laravel?

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",
]);
Nach dem Login kopieren

Erklärung

In diesem Beispiel:

  • "names" prüft, ob Das Array selbst existiert und hat mindestens 3 Elemente.
  • „names.*“ validiert die einzelnen Werte im „names“-Array, um sicherzustellen, dass es sich um Zeichenfolgen handelt, die eindeutig sind und mindestens 3 Zeichen lang sind.

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",
]);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage