I tried other fixes suggested by others but they didn't work. I really don't know why this is not working, been searching for two hours straight.
<?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');
}
}
I don't know whats wrong
When you add a trait to some class then the methods of that trait are available in that class. So here what you need to do is:-
$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',
]);