Laravel 中的陣列驗證
在 Laravel 處理陣列資料時遇到驗證問題。提交空的 POST 請求時,您預計驗證會失敗,但它會傳回 true。
解決方案
問題在於您如何驗證陣列。 Laravel 中的星號 (*) 符號驗證數組中的各個值,而不是數組本身。要驗證數組,請使用以下語法:
$validator = Validator::make($request->all(), [ "names" => "required|array|min:3", "names.*" => "required|string|distinct|min: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中文網其他相關文章!