インターネット アプリケーションの継続的な開発に伴い、開発に Laravel フレームワークの使用を選択する企業や開発者が増えています。アプリケーションを開発する場合、データ入力の検証は、悪意のある攻撃や誤った入力によって引き起こされる問題からアプリケーションを保護するために非常に重要な部分です。 Laravel フレームワークでは、リクエスト検証ルールはデータ入力検証を実装する方法の 1 つです。
Laravel は、入力データを簡単に検証するためのシンプルかつ非常に強力な検証ルール構文を提供します。この記事では、Laravel のリクエスト検証ルールを使用して入力データを検証する方法について説明します。
- 基本的な検証ルール
Laravel フレームワークは、検証プロセス中にさまざまな目的に使用できるいくつかの基本的な検証ルールを提供します。一般的に使用される基本的な検証ルールをいくつか示します。
- required: 必須フィールド。
- email: 有効な電子メール アドレスである必要があります。
- 数値: 数値である必要があります。
- max: 最大値。
- min: 最小値。
- size: 指定されたサイズと一致する必要があります。
- in: 指定された値のいずれかである必要があります。
コントローラーで検証ルールを使用するのは非常に簡単です。 「username」という名前の入力フィールドを検証する必要がある validateInput という名前のメソッドがあるとします。コードは次のようになります:
$this->validate($request, [ 'username' => 'required|min:3|max:20' ]);
上記のコードは、「username」フィールドが含まれているかどうかと、その長さを検証します。が 3 ~ 20 の場合、これらのルールが満たされない場合、ValidationException がスローされます。
- カスタム検証ルール
基本的な検証ルールに加えて、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」を追加します。パスワード入力がカスタム ルールと一致する場合、検証は成功します。
- エラー メッセージのカスタマイズ
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 サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

ホットトピック



