【PHP】validaterファザードを使用してバリデーションを使用する
手順
コントローラに以下の例のように記載をします。
ここではStoreメソッド内に記載してます。
/app/Http/Controllers/ListController.php
use Validator; (省略) public function store(Request $request) { $validator = Validator::make($request->all() , ['list_name' => 'required|max:255', ]); # makeメソッドでファサードのインスタンスを新規作成する。 if ($validator->fails()) { return redirect()->back()->withErrors($validator->errors())->withInput(); } #バリデーションによって、データが入力できない場合の動作を設定する }
詳細
もう少し詳細を記載します。
$validator = Validator::make($request->all() , ['list_name' => 'required|max:255', ]);
makeメソッドでvalidatorファサードの新規インスタンスを作成し
makeメソッドの第一引数はバリデーションを設定するカラム名
第二引数はバリデーションルールを記載する。
この例では文字数を255字までの制限を設定してます。
バリデーションルールについては以下を参照 https://readouble.com/laravel/6.x/ja/validation.html#available-validation-rules
if ($validator->fails()) { return redirect() ->back() ->withErrors($validator->errors()) }
もしエラーになった場合は元のページに戻すという
コードの記載になります。
最後に
バリデーションはファザード以外にも記載方法があるので
また記載するのとファザードについても理解が不足しているので
もう少し学習して記載します。
- 作者:たにぐちまこと
- 発売日: 2018/04/26
- メディア: 単行本(ソフトカバー)