我有一个非常奇怪的问题。当我提交表单时,它会在服务器端验证时抛出错误。
BadMethodCallException
方法用户名不存在。
LoginController.php
class LoginController extends Controller
{
use AuthenticatesUsers;
protected $username = 'username';
protected $redirectTo = '/dashboard';
protected $guard = 'web';
public function getLogin()
{
if (Auth::guard('web')->check())
{
return redirect()->intended('dashboard');
}
return view('login');
}
public function postLogin(Request $request)
{
$auth = Auth::guard('web')->attempt(['username' => $request->username(),
'password' => $request->password(), 'active' => 1]);
if ($auth)
{
return redirect()->route('dashboard');
}
return redirect()->route('/');
}
public function getLogout()
{
Auth::guard('web')->logout();
return redirect()->route('/');
}
}
答案 0 :(得分:0)
问题是你试图以方法的形式访问input属性,我的意思是$request->username()
和密码相同,没有用户名方法,这就是你收到错误的原因。您可以使用input()
方法访问输入,例如$request->input('username')
或动态属性$request->username
在docs
了解详情