Laravel は、開発者の作業をスピードアップするための便利な機能を多数提供する人気の PHP Web 開発フレームワークです。その中でも、Laravel Validationはフォームリクエストやユーザーが入力したデータを簡単に検証できる非常に実用的な機能です。この記事では、Laravel Validation を使用してフォームリクエストを検証する方法を紹介します。
Laravel Validation は、Laravel フレームワークに組み込まれたフォーム検証メソッドです。これは、フォームリクエストとユーザー入力データを検証するための、簡潔で標準化された使いやすい方法を提供します。さまざまなルールを使用してさまざまなデータ型を検証できるため、コードの冗長性が減り、コード開発プロセスが簡素化されます。
まず、コントローラーで Laravel の Validation クラスを使用する必要があります:
use IlluminateSupportFacadesValidator;
リクエストを検証する必要がある場合は、Validator を使用できます。 :make() メソッド:
public function store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|min:3|max:255', 'email' => 'required|email|unique:users,email', 'password' => 'required|min:8|confirmed', ]); if ($validator->fails()) { return redirect('register') ->withErrors($validator) ->withInput(); } // 在此处写入数据到数据库的逻辑 }
上記のコードでは、Validator::make() メソッドを使用して検証ルールを定義します。 make メソッドに渡される最初のパラメータは、検証する必要があるリクエスト データです。 2 番目のパラメータは検証ルールを定義する配列です。配列内のキーは検証する必要があるフィールドの名前で、値は文字列形式の検証ルールです。
上記のコードでは、3 つのフィールドを定義します:
いずれかのルールが検証に失敗した場合、エラー メッセージを送信する 登録ページに戻り、withInput() メソッドを使用して、ユーザーが以前に送信したデータを返します。
Laravel Validation を使用する場合、多くのルールを使用できます。いくつかの一般的なルールを以下に示します。
これらのルールは、検証ルールの一部ですが、さらに多くのルールを使用してデータを検証することもできます。検証ルールの詳細なリストは、Laravel のドキュメントにあります。
データを検証するためにカスタム ルールが必要になる場合があります。 Laravel では、Validator::extend() メソッドを使用してカスタム検証ルールを実装できます。以下はカスタム ルールの例です:
Validator::extend('phone_number', function ($attribute, $value, $parameters, $validator) { return preg_match('/^1[3-9][0-9]{9}$/', $value); });
この例では、$formData['phone_number'] が独自に定義した仕様を満たしているかどうかを検証するカスタム ルール「phone_number」を定義します。検証が成功した場合は true を返し、そうでない場合は false を返します。
エラー メッセージをカスタマイズして、より人道的なエラー メッセージにすることもできます。以下はカスタム エラー メッセージの例です。
$validator = Validator::make($request->all(), [ 'email' => 'required|email|unique:users,email', 'password' => 'required|min:8|confirmed', ]); // 自定义错误信息 $validator->setAttributeNames([ 'email' => '邮箱', 'password' => '密码', ]); // 自定义错误信息模板 $validator->setCustomMessages([ 'required' => ':attribute字段不能为空', 'email' => '请输入正确的邮箱地址', 'unique' => ':attribute已经被占用了', 'min' => ':attribute长度不能小于:min个字符', 'confirmed' => '密码和确认密码不匹配', ]);
上記のコードでは、setAttributeNames() メソッドを使用してフィールド名を変更し、エラー メッセージをより人道的なものにしています。また、setCustomMessages() メソッドを使用してエラー メッセージ テンプレートを定義し、エラー メッセージをより簡単かつ迅速に変更し、よりユーザー フレンドリにできるようにしました。
上記の紹介を通じて、Laravel Validation を使用してフォームリクエストを検証する方法を学びました。これにより、誤ったユーザー入力によって引き起こされるエラーを回避し、エラー メッセージをより便利に処理して、開発時間を節約できます。 Laravel Validation により、アプリケーションの堅牢性とセキュリティをより確実に確保できます。
以上がLaravel 開発: Laravel Validation を使用してフォームリクエストを検証する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。