我试图阻止用户使用某些名称,例如“admin”或“operator”。
我尝试摆弄Controllers/Auth/RegisterController和Controller/RegisterController但失败了。
我试过的是这样的:
in Controllers/Auth/RegisterController,
if ($data['name'] === 'admin' || $data['name'] === 'operator') {
return redirect()->back()->withErrors(['Invalid username']);
}
else {
session()->flash('message', 'Welcome!');
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
上面的代码给了我这个错误:
传递给 Illuminate\Auth\SessionGuard::login() 的参数 1 必须是 Illuminate\Contracts\Auth\Authenticatable 的实例,给定的字符串,在 /var/www/vendor/laravel/ui/auth-backend/RegistersUsers.php 中调用在第 36 行
我还搜索了验证器是否可以阻止特定单词但失败了。我知道我可以通过使用 JS 来解决这个问题,但我认为 Laravel 会有这样的功能。
交互式爱情
qq_花开花谢_0
侃侃无极
大话西游666