Laravel バリデーション [Validatorファサード]

2020年1月28日

PHP

フォーム画面(/member)で入力したデータを、POSTメソッドで確認画面(/member/confirm)へと送り、表示させます。その際にValidatorファサードを利用したバリデーションの処理をおこないます。

 

 

 

 

PHP基礎

入力フォームを作成しデータを次の画面に送る [POSTメソッド][GETメソッド]

 

 

MemberControllerを作成し、生成されたファイルを下記のように編集します(ハイライト部分)。

 

app/Http/Controllers/MemberController.php

Validatorファサードを利用してバリデーションを実行しています。30行目においてバリデータインスタンスを作成し、第2引数にはバリデーションのルールを、第3引数にはそれぞれのカスタムエラーメッセージを設定しています。エラーとなったらフォーム画面へリダイレクトさせています(32〜36行目)。もし入力が通った場合は確認画面へそのデータが渡されます(38行目)。

 

本記事ではコントローラー内にバリデーションの処理を記述しましたが、「フォームリクエスト」クラスを利用するとそれら処理を切り離すことができます。

 

フォームリクエストでバリデーションを実装する

 

 

web.phpに下記コードを追記します。

routes/web.php

 

 

memberディレクトリを作成し、フォーム画面としてのindex.blade.phpを作成します。バリデーションでエラーとなった場合の処理がそれぞれのフォームの下に表示されます。

 

resources/views/member/index.blade.php

2行目

クロスサイトリクエストフォージェリ対策です。下記関連ページもご覧下さい。

 

クロスサイトリクエストフォージェリ(CSRF)[トークン]

 

4、9行目

old関数で直前の入力値を設定しています。

 

 

バリデーションのエラーをまとめて出力する場合は下記のように記述します。

resources/views/member/index.blade.php

 

 

確認画面を用意します。

resources/views/member/confirm.blade.php

 

 

 

参照ページ


 

Laravel 6.x バリデーション

 

 

 

LINEで送る
Pocket

定番本
定期本
 
Copyright © 2020 思考の葉 All Rights Reserved.  プライバシーポリシー