在 null 上调用成员函数 pass()

Call to a member function passes() on null

我确实有一种感觉,我需要使用 Auth:: 或这里的其他东西来 link 才能通过。我说的对吗

问题行

    if($validator->passes())

` getLoginCredentials

protected function getLoginCredentials(Request $request)
  {
    $validator = $this->loginValidation($request);

    if($validator->passes())
    {
    return[
    'email'    => Request::input('email'),
    'password' => Request::input('password'),
    'type'     => 1  
    ];

    }else{
        return redirect()->back()->withErrors();
    }
  }

登录验证

protected function loginValidation($request)
    {
        $rules = array(
          'email'      => 'required|email',
          'password'   => 'required',
    );
        $this->validate( $request , $rules);
    }

我认为实际问题出在应该 return 一个对象的 loginValidation 方法中。请看下面我的代码。我也改变了 getLoginCredentials 一点,因为 Request 不应该被静态调用。

protected function getLoginCredentials(Request $request)
{
    $validator = $this->loginValidation($request);

    if ($validator->passes()) {
        return [
            'email'    => $request->input('email'),
            'password' => $request->input('password'),
            'type'     => 1  
        ];
    } else {
        return redirect()->back()->withErrors();
    }
}

登录验证

protected function loginValidation(Request $request)
{
    $rules = [
      'email'      => 'required|email',
      'password'   => 'required',
    ];
    return Validator::make($request->all(), $rules);
}