方法验证不存在

Method validate does not exist

我尝试了其他人建议的其他修复方法,但没有奏效。我真的不知道为什么这不起作用,已经连续搜索了两个小时。

<?php

namespace App\Http\Controllers;

use App\User;

use App\Http\Controllers\Controller as Controller;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Http\Request;

class RegisterUser extends Controller
{




    use ValidatesRequests;

    public function __construct()
    {
        $this->middleware('guest');
    }

    public function store(Request $request)
    {

        $request->validate([
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
            'passwordr' => 'required|string|min:6',
        ]);



        $name = 'NoName';
        $email = $request->input('email');
        $password = bcrypt($request->input('password'));

        $user = new \App\User();
        $user->name = $name;
        $user->password = $password;
        $user->email = $email;
        $user->save();

        return redirect()->action('HomeController@index');
    }
}

我不知道怎么了

当您向某些 class 添加特征时,该特征的方法在 class 中可用。所以这里你需要做的是:-

$this->validate($request, [
  'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
            'passwordr' => 'required|string|min:6',
        ]);

instead of 

$request->validate([
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
            'passwordr' => 'required|string|min:6',
        ]);