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

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

Barbara Streisand
リリース: 2024-11-27 16:29:11
オリジナル
289 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート