2017-03-24 15 views
-1

私はLaravelのウェブサイトで作業しています。同じページに登録フォームとログインフォームがあります。唯一の問題は、ログインフォームに間違ったパスワードを入力すると、パスワード入力の下の両方のフォームにエラーが表示されることです。Laravel、同じページに登録とログイン。両方の形式のエラー

私はこの問題を抱えているいくつかの人々を見てきましたが、彼らはすべて5.4より下のバージョンで作業しており、これらのソリューションはすべてバージョン5.4で異なります。誰でもこの仕事をするために何を変える必要があるかを知っていますか? これまでフォームの名前を 'login_password'と 'register_password'に変更しましたが、これでエラーが表示されるだけです。

答えて

0

入力名を変更するルートを下ろす場合は、LoginControllerRegisterControllerを更新する必要があります。あなたは以下を追加する必要があります

ログインコントローラ

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

protected function credentials(Request $request) 
{ 
    return [ 
     $this->username() => $request->input($this->username()), 
     'password'  => $request->input('login_password'), 
    ]; 
} 

RegisterController(これらの方法は、すでにコントローラに存在する必要があり、あなただけのregister_passwordpasswordを更新する必要があります該当する場合)

/** 
* Get a validator for an incoming registration request. 
* 
* @param array $data 
* @return \Illuminate\Contracts\Validation\Validator 
*/ 
protected function validator(array $data) 
{ 
    return Validator::make($data, [ 
     'name' => 'required|max:255', 
     'email' => 'required|email|max:255|unique:users', 
     'register_password' => 'required|min:6|confirmed', 
    ]); 
} 

/** 
* Create a new user instance after a valid registration. 
* 
* @param array $data 
* @return User 
*/ 
protected function create(array $data) 
{ 
    return User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['register_password']), 
    ]); 
} 

また、他のuse文で、ファイルの先頭に以下を置くことによってRequestを含める必要があります。このことができます

use Illuminate\Http\Request; 

希望を!

+0

@Maxこれがあなたの質問に回答した場合は、それを承認済みとしてマークしてください –

関連する問題