Heim > Backend-Entwicklung > PHP-Tutorial > So validieren Sie Arrays in Laravel: Leere Übermittlungen und Best Practices?

So validieren Sie Arrays in Laravel: Leere Übermittlungen und Best Practices?

Barbara Streisand
Freigeben: 2024-11-27 16:29:11
Original
289 Leute haben es durchsucht

How to Validate Arrays in Laravel: Empty Submissions and Best Practices?

Arrays in Laravel validieren

Beim Versuch, ein Array in Laravel mit dem folgenden Code zu validieren:

$validator = Validator::make($request->all(), [
    "name.*" => 'required|distinct|min:3',
    "amount.*" => 'required|integer|min:1',
    "description.*" => "required|string"
]);
Nach dem Login kopieren

Es kann zu einem unerwarteten Szenario kommen, in dem eine leere POST-Übermittlung fälschlicherweise als gültig erkannt wird, was zu einem falschen Ergebnis führt positiv.

Diese Verwirrung entsteht, weil das Sternchensymbol (*) im Code dazu gedacht ist, die Werte innerhalb des Arrays zu validieren, nicht das Array selbst. Um dies zu beheben, sollten die Validierungsregeln geändert werden, um das Vorhandensein des Arrays zu prüfen:

$validator = Validator::make($request->all(), [
    "names"    => "required|array|min:3",
    "names.*"  => "required|string|distinct|min:3",
]);
Nach dem Login kopieren

In diesem angepassten Code:

  • „names“ stellt sicher, dass die „names Der Schlüssel „in den POST-Daten ist vorhanden und enthält ein Array.
  • „names.*“ validiert dann die einzelnen Werte innerhalb des Arrays „names“ und stellt sicher, dass sie erforderlich sind. eindeutige Zeichenfolgen mit einer Mindestlänge von 3 Zeichen.

Seit Laravel 5.5 kann ein vereinfachter Ansatz verwendet werden:

$data = $request->validate([
    "names"    => "required|array|min:3",
    "names.*"  => "required|string|distinct|min:3",
]);
Nach dem Login kopieren

Diese kompakte Syntax führt die Validierung direkt am Request-Objekt durch. Dadurch entfällt die Notwendigkeit eines $validator-Vermittlers.

Das obige ist der detaillierte Inhalt vonSo validieren Sie Arrays in Laravel: Leere Übermittlungen und Best Practices?. 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