2016-09-04 22 views
0

明白な電子メールとパスワードを使用してユーザーを認証しようとしています。また、ban_statusがデータベースで0に設定されています。追加条件付きでログインlaravel 5.3

は、私は、最新のlaravelのドキュメントを見て持っていたし、私はこれが私の知る限り伝えることができ、ユーザーにログインされますと何もしない

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

AuthenticateUsers.phpでこのようにそれを試してみました禁止状態が0かどうかに関わらず、この追加条件はどこで行うべきですか?あなたが持っている

おかげで、あなたのコードで

+0

お試しください] ban_status '=> '必要は|:0'、 –

+0

は今全くログインしない、私は」問題がどこにあるのか分かりません – 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])] 
                  }) 
    ]); 
    

これはワットではないかもしれませんあなたはそれをちょっと試す必要があるかもしれませんが、LaravelのEloquentモデルをうまく使っています。だからうまくいけば、これは正しい方向にあなたを指します。また、テーブル名とフィールド名をデータベースのwhatsに変更してください。

ハッピーコーディング=)

参考:

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

関連する問題