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 中国語 Web サイトの他の関連記事を参照してください。