検索
ホームページPHPフレームワークLaravellaravelリクエストの検証ルール

インターネット アプリケーションの継続的な開発に伴い、開発に Laravel フレームワークの使用を選択する企業や開発者が増えています。アプリケーションを開発する場合、データ入力の検証は、悪意のある攻撃や誤った入力によって引き起こされる問題からアプリケーションを保護するために非常に重要な部分です。 Laravel フレームワークでは、リクエスト検証ルールはデータ入力検証を実装する方法の 1 つです。

Laravel は、入力データを簡単に検証するためのシンプルかつ非常に強力な検証ルール構文を提供します。この記事では、Laravel のリクエスト検証ルールを使用して入力データを検証する方法について説明します。

  1. 基本的な検証ルール

Laravel フレームワークは、検証プロセス中にさまざまな目的に使用できるいくつかの基本的な検証ルールを提供します。一般的に使用される基本的な検証ルールをいくつか示します。

  • required: 必須フィールド。
  • email: 有効な電子メール アドレスである必要があります。
  • 数値: 数値である必要があります。
  • max: 最大値。
  • min: 最小値。
  • size: 指定されたサイズと一致する必要があります。
  • in: 指定された値のいずれかである必要があります。

コントローラーで検証ルールを使用するのは非常に簡単です。 「username」という名前の入力フィールドを検証する必要がある validateInput という名前のメソッドがあるとします。コードは次のようになります:

$this->validate($request, [
    'username' => 'required|min:3|max:20'
]);

上記のコードは、「username」フィールドが含まれているかどうかと、その長さを検証します。が 3 ~ 20 の場合、これらのルールが満たされない場合、ValidationException がスローされます。

  1. カスタム検証ルール

基本的な検証ルールに加えて、Laravel フレームワークでは独自の検証ルールを作成することもできます。これらのカスタム検証ルールは、特定のニーズに基づいて定義できます。 「パスワード」という名前の入力フィールドを確認する必要があるとします。フィールドには大文字、小文字、数字、特殊記号が含まれ、長さは 8 ~ 20 文字である必要があります。コードは次のようになります:

Step 1 :検証ルールを定義する

Validator::extend('my_password', function ($attribute, $value, $parameters, $validator) {
    return preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*(_|[^w])).+$/', $value) &&
        strlen($value) >= 8 && strlen($value) <= 20;
});

上記のコードでは、正規表現と文字列長を使用してパスワードを検証する「my_password」という名前の検証ルールを定義します。入力されたパスワードが要件を満たしている場合、この検証ルールは true を返します。

ステップ 2: カスタム検証ルールを使用する

カスタム検証ルールの使用は、基本的な検証ルールを使用することと同じです。カスタム検証ルールを検証ルール配列に追加するだけです。前の例で「password」の検証ルールを追加する必要があるとします。コードは次のようになります:

$this->validate($request, [
    'username' => 'required|min:3|max:20',
    'password' => 'required|my_password'
]);

上記のコードでは、検証ルールに「my_password」を追加します。パスワード入力がカスタム ルールと一致する場合、検証は成功します。

  1. エラー メッセージのカスタマイズ

Laravel フレームワークでは、検証エラー メッセージの形式を簡単にカスタマイズできます。以下に例を示します。

パスワード入力エラー メッセージをカスタマイズする必要があるとします。これを行うことができます。

ステップ 1: エラー メッセージを定義します。

$messages = [
    'my_password' => 'The password must contain upper and lowercase letters, numbers, and special symbols. Its length must be between 8 and 20 characters.'
];

上記では、コードでは、「my_password」というエラー メッセージを定義します。

ステップ 2: カスタム メッセージの使用

エラー メッセージの使用は、カスタム検証ルールの使用と似ています。カスタマイズされたメッセージを必要とする検証ルールを validate メソッドの 2 番目のパラメーターに渡すだけです。 「パスワード」フィールドのエラー メッセージをカスタマイズする必要があるとします。コードは次のようになります。

$this->validate($request, [
    'password' => 'required|my_password'
], $messages);

上記のコードでは、エラー メッセージを 3 番目のパラメーターとして validate メソッドに渡します。パスワード入力がカスタムルールと一致しない場合、Laravel は定義したエラーメッセージを表示します。

概要

この記事では、基本的な検証ルールとカスタム検証ルールの使用方法、エラーメッセージのカスタマイズ方法など、Laravel リクエスト検証ルールについて説明しました。 Laravel の検証ルール構文は非常にシンプルですが強力です。 Laravel のリクエスト検証ルールを使用すると、入力データを簡単に検証し、アプリケーションのセキュリティを確保できます。

以上がlaravelリクエストの検証ルールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Laravelで高度な機能を備えたRESTFUL APIを構築する方法は?Laravelで高度な機能を備えたRESTFUL APIを構築する方法は?Mar 11, 2025 pm 04:13 PM

この記事では、堅牢なLaravel Restful APIの構築をガイドします。 プロジェクトのセットアップ、リソース管理、データベースインタラクション、シリアル化、認証、承認、テスト、および重要なセキュリティベストプラクティスをカバーしています。 スケーラビリティチャレに対処します

LaravelでOAUTH2認証と承認を実装する方法は?LaravelでOAUTH2認証と承認を実装する方法は?Mar 12, 2025 pm 05:56 PM

この記事では、LaravelでOAUTH 2.0認証と承認を実装しています。 League/OAuth2-Serverやプロバイダー固有のソリューションなどのパッケージを使用して、データベースのセットアップ、クライアント登録、承認サーバー構成を強調しています

Laravelのコンポーネントを使用して再利用可能なUI要素を作成するにはどうすればよいですか?Laravelのコンポーネントを使用して再利用可能なUI要素を作成するにはどうすればよいですか?Mar 17, 2025 pm 02:47 PM

この記事では、コンポーネントを使用してLaravelで再利用可能なUI要素の作成とカスタマイズについて説明し、組織のベストプラクティスを提供し、パッケージを強化することを提案します。

クラウドネイティブ環境でLaravelを使用するためのベストプラクティスは何ですか?クラウドネイティブ環境でLaravelを使用するためのベストプラクティスは何ですか?Mar 14, 2025 pm 01:44 PM

この記事では、スケーラビリティ、信頼性、セキュリティに焦点を当てたクラウドネイティブ環境でLaravelを展開するためのベストプラクティスについて説明します。重要な問題には、コンテナ化、マイクロサービス、ステートレス設計、最適化戦略が含まれます。

Laravelでカスタム検証ルールを作成して使用するにはどうすればよいですか?Laravelでカスタム検証ルールを作成して使用するにはどうすればよいですか?Mar 17, 2025 pm 02:38 PM

この記事では、Laravelでカスタム検証ルールの作成と使用について説明し、それらを定義および実装する手順を提供します。再利用性や特異性などの利点を強調し、Laravelの検証システムを拡張する方法を提供します。

Laravelでカスタムブレードディレクティブを作成および使用するにはどうすればよいですか?Laravelでカスタムブレードディレクティブを作成および使用するにはどうすればよいですか?Mar 17, 2025 pm 02:50 PM

この記事では、Laravelでカスタムブレードディレクティブの作成と使用を行い、テンプレートを強化します。ディレクティブの定義、テンプレートでそれらを使用し、大規模なプロジェクトでそれらを管理することをカバーし、改善されたコードの再利用性やRなどの利点を強調しています

Laravel vs. Symfony:Webアプリに適したものはどれですか?Laravel vs. Symfony:Webアプリに適したものはどれですか?Mar 10, 2025 pm 01:34 PM

PHPフレームワークの選択に関しては、LaravelとSymfonyは最も人気があり広く使用されているオプションの1つです。各フレームワークは、独自の哲学、特徴、強みをテーブルにもたらし、さまざまなプロジェクトやユースケースに適しています

Laravelでファイルアップロードとクラウドストレージを処理する最良の方法は何ですか?Laravelでファイルアップロードとクラウドストレージを処理する最良の方法は何ですか?Mar 12, 2025 pm 05:54 PM

この記事では、Laravelの最適なファイルアップロードとクラウドストレージ戦略を調べます。 ローカルストレージとクラウドプロバイダー(AWS S3、Google Cloud、Azure、DigitalOcean)、セキュリティ(検証、消毒、HTTPS)およびパフォーマンスオプティを強調しています

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール