首頁  >  文章  >  後端開發  >  如何在 Laravel 中正確驗證陣列?

如何在 Laravel 中正確驗證陣列?

Patricia Arquette
Patricia Arquette原創
2024-11-25 00:00:44862瀏覽

How to Properly Validate Arrays in Laravel?

Laravel 中的陣列驗證

在 Laravel 處理陣列資料時遇到驗證問題。提交空的 POST 請求時,您預計驗證會失敗,但它會傳回 true。

解決方案

問題在於您如何驗證陣列。 Laravel 中的星號 (*) 符號驗證數組中的各個值,而不是數組本身。要驗證數組,請使用以下語法:

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

解釋

在此範例中:

  • "names" 檢查是否數組本身存在並且至少有3 個元素。
  • "names.*" 驗證「names」陣列中的各個值,確保它們是字串、不同且長度至少為 3 個字元。

使用此更新的驗證邏輯,空 POST 請求將如預期失敗。

Laravel 5.5 中的驗證改進

從Laravel 5.5 開始,您可以透過直接在Request 物件上呼叫validate() 方法來使用簡化的語法進行數組驗證:

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

以上是如何在 Laravel 中正確驗證陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn