Laravel 8.xでバリデータを作成する


※PHPフレームワークLaravel入門 第2版を進めていたところ、バリデータを作成するフェーズでエラーが発生したので備忘録として記述しております。

エラー内容

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Http\Requests\HelloRequest;
use Validator;

class HelloController extends Controller
{
    public function index(Request $request) {
        return view('hello.index', ['msg'=>'フォームを入力:']);
    }

    public function post(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'name' => 'required',
            'mail' => 'email',
            'age' => 'numeric|between:0, 150',
        ]);
        if ($validator->fails()) {
            return redirect('/hello')
                ->withErrors($validator)
                ->withInput();
        }
        return view('hello.index', ['msg'=>'正しく入力されました!']);
    }
}

書籍通りに進めていれば、HelloControllerはこのようになっていると思うが、この状態だとValidator::makeでエラーが発生する。(VSCodeの場合)

このままでも進めることはできるっぽい(?)のだが、この赤文字は放って置けないので、解決策を見つけてきた。

解決方法

useを以下のようにする。

use Illuminate\Support\Facades\Validator;

参考:Laravel 8.x Validation