2016-09-04 5 views
0

Я пытаюсь аутентифицировать пользователя с очевидным адресом электронной почты и паролем, а также если ban_status установлен в 0 в базе данных.Войти с дополнительным условием laravel 5.3

Я имел взгляд на новейшую Laravel документы и я попробовал это так в AuthenticateUsers.php

protected function validateLogin(Request $request) 
{ 
    $this->validate($request, [ 
     $this->username() => 'required', 'password' => 'required', 'ban_status' => '0', 
    ]); 
} 

Это не делает ничего, насколько я могу сказать и войти пользователь независимо от того, является ли статус запрета 0 или нет, где я должен делать это дополнительное условие?

Благодаря

+0

Try 'ban_status' => 'требуется | в: 0', –

+0

Не войти вообще сейчас, я m not sure where issue is – user6073700

+0

Возможно, вы могли бы попробовать: ban_status '=>' required | boolean: 0 – Franco

ответ

0

В коде у вас есть:

$this->validate($request, [ 
     $this->username() => 'required', //???? 
          'password' => 'required', 
          'ban_status' => '0', 
    ]); 
  • Я не знаю, почему вы «требуется» есть сама по себе, так что я думал что-то вдоль линий этого :

    $user = $this->username(); 
    $this->validate($request, [ 
        $this->username() => 'email' => 'bail|required|email|exists:dbnamehere.tablenamehere|min:7', //can also be username 
             'password' => 'bail|required|min:8',         
             'ban_status' => ['required', 
                  Rule::unique('users_table_name_here')->where(function ($query) use ($user) { 
                    $query->where(['account_id',$user], 
                       ['ban_status', 0])] 
                  }) 
    ]); 
    

Это не может ш ork сразу, так что вам, возможно, придется немного поработать с ним, но это приятно использует Laravel's Eloquent. Поэтому, надеюсь, это указывает на то, что вы в правильном направлении. Также не забудьте изменить имена таблиц и имена полей на то, что содержится в вашей базе данных.

Happy Coding =)

Ссылка:

https://laravel.com/docs/5.3/validation