Я пробовал другие исправления, предложенные другими, но они не работали. Я действительно не знаю, почему это не работает, искал два часа подряд.
<?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');
}
}
Я не знаю что не так
Когда вы добавляете признак в некоторый класс, то методы этого признака доступны в этом классе. Итак, вот что вам нужно сделать:
$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',
]);
Других решений пока нет …