ホームページ  >  記事  >  バックエンド開発  >  Laravel で配列を検証する方法: 空の送信とベストプラクティス?

Laravel で配列を検証する方法: 空の送信とベストプラクティス?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-27 16:29:11236ブラウズ

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

Laravel での配列の検証

次のコードを使用して Laravel で配列を検証しようとすると:

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

空の POST 送信が誤って有効であると認識され、誤った結果が返されるという予期しないシナリオが発生する可能性があります。 positive.

この混乱は、コード内のアスタリスク記号 (*) が配列自体ではなく、配列内の値を検証することを目的としているために発生します。これに対処するには、配列の存在をチェックするように検証ルールを変更する必要があります。

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

この調整されたコードでは、

  • "names" により、"names" がPOST データ内の " キーが存在し、配列が含まれています。
  • "names.*" では、"name" 内の個々の値が検証されます。配列。最小長が 3 文字の一意の文字列であることを確認します。

Laravel 5.5 以降、簡略化されたアプローチを採用できます。

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

このコンパクトな構文を直接使用します。 Request オブジェクトの検証を実行し、$validator 仲介の必要性を排除します。

以上がLaravel で配列を検証する方法: 空の送信とベストプラクティス?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。