平凡エンジニアによる平凡ブログ

平凡インフラエンジニアがスキルアップを目指してプログラミングやクラウドやサーバといったインフラのアウトプットをしていきます!

【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())
    }

もしエラーになった場合は元のページに戻すという
コードの記載になります。

最後に

バリデーションはファザード以外にも記載方法があるので
また記載するのとファザードについても理解が不足しているので
もう少し学習して記載します。

よくわかるPHPの教科書 【PHP7対応版】

よくわかるPHPの教科書 【PHP7対応版】