バリデーションは、ウェブアプリケーションにとって非常に重要な要素です。失敗すればセキュリティにも関わってきますから、入念に行わなければなりません。
従来は自分でチコチコとバリデーションを書いていた方も多いと思いますが、非常に大変ですし、非効率的です。自作のバリデーションクラスを作っていたとしても、メンテナンスが大変です。
そこでLaravelでは、バリデーションを簡単にする方法を用意してくれています。
それらの機能を活用すれば、複雑なバリデーションもあっという間に書けてしまいます。また、利用も簡単で、FormRequest
のように、読み込むだけでOKなものも。メンテナンスもLaravel任せにできるので最高ですね。
とは言え覚えることはたくさんあり、私も勉強中です。そんなLaravelの基本のキとも言える、バリデーションについて、当サイトの解説リンクを中心にまとめました。
公式マニュアル
身も蓋もないですが、公式の「Lavall 10.x バリデーション」のページも併せてご覧ください。翻訳特有の読みづらさはありますが、私も定期的に確認しています。
バリデーションの方法3つ
Laravelが用意するバリデーションの方法は、以下の3種類あります。
- Requestクラスのvalidateメソッドで
- Validatorファサードで
- FormRequestの子クラスで
詳しくは、以下の解説を参照してください。
個人的には、業務で提供しているウェブアプリケーションでは、FormRequest
の子クラスで行うことがほとんどです。
ですので、FormRequest
をきちんと理解するためにまとめたのが以下の記事です。
FormRequest
クラスではバリデーションの前に認可処理が行われます。
関連事項として、認可を知っておくことは重要です。認可を処理するauthorize()
メソッドについて、深掘りして詳しく書いた記事が以下です。
バリデーションルールの指定方法
バリデーションを行う方法は複数ありますが、その際のルール指定は共通しています。
ですのでルール指定を覚えておけば、どの方法でもバリデーションできるようになります。
初心者向けバリデーションルールの基本
初心者の方が、Laravelのバリデーションのルール指定方法を学ぶ際は、以下記事をご覧ください。
私が初心者のころ、バリデーション方法とごっちゃになって余計混乱しました(文献によって方法が違って紹介されているから)。バリデーションのルールは共通です。
エラーメッセージの日本語化
Laravelのバリデーションエラーメッセージを日本語化(翻訳)する方法は、以下の2種類があります。
- 言語ファイルを修正する方法
- FormRequestの子クラスを利用する方法
FormRequestの子クラスで日本語化
そのフォームだけのエラーメッセージを日本語化するなら、FormRequest
の子クラスで日本語化するのが良いでしょう。
以下ページでは、FormRequest
の子クラスを利用した方法について解説しています。
言語ファイルで日本語化
Webアプリケーション全体で日本語化させたい場合は、Laravelの言語ファイルで日本語化した方が便利です。
以下ページでは、言語ファイルで行う方法を解説しています。
エラーメッセージの表示
ウェブアプリケーションでは、Laravelのビュー部分(Blade)でエラーメッセージを表示することが一般的です。
いろいろなエラーの表示方法がありますので、以下ページで解説しています。
上記ページでご紹介している内容を、実際に使いながらご紹介している具体例は以下です。
バリデーション通過時
バリデーション通過後、通常はそのデータを取得したり、加工したりします。
データベースに登録するなどの処理を控えていることも多く、取得や加工は慎重に行う必要があります。
以下ページでは、バリデーション後のデータの取り扱い方法について解説しています。
まとめ
以上、現在当サイトでバリデーションについて書かれた記事をまとめました。
どれか一つでも、Laravel初心者さん・学習者さんの参考になれば幸いです。
コメント