Laravel 5.4 возвращает сообщение об ошибке, если пользователь пытается войти без пароля - PullRequest
0 голосов
/ 16 мая 2018

Мне нужно показать ошибку, такую ​​как ошибка, когда пользователь вводит неправильные данные в форму входа, когда пользователь не вводит свой пароль. Я думаю, что метод, который я должен перезаписать, это validateLogin ()

    protected function validateLogin()
{

    $this->validate(request(), [
        'email' => 'required', 'password' => 'required'
    ]);
}

Но это не дает мне сообщение об ошибке в поле зрения. Я получил ошибку, когда оставил поле электронной почты пустым, а не когда оставил пароль пустым

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

В вашем контроллере вы можете использовать что-то вроде этого:

    $validator = Validator::make($request->all(), User::$auth_rules);
    if ($validator->fails()){
        return Redirect::back()->withErrors($validator)->withInput();
    }
    $remember=$request->has('remember')?true:false;
    $user=User::where('email',$request->get('email'))->first();

    if (Auth::attempt(array('email' => $request->input('email'), 'password' => $request->input('password')), $remember)){
        return Redirect::route('dashboard');        
    }

    return Redirect::route('login')->with('status','Invalid credentials');

Надеюсь, это поможет вам.

0 голосов
/ 16 мая 2018

Проблема была не в методе ValidateLogin, а в представлении.

  @if ($errors->has('email'))
       <span class="help-block" style="margin-top:30px;">
           <strong>{{ $errors->first('email') }}</strong>
       </span>
  @endif

Мне просто нужно иметь такое же условие для пароля. спасибо за вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...