2017-03-24 57 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(這些方法應該已經存在於控制器,你只需要更新passwordregister_password如適用)

/** 
* 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如果這回答了您的問題,請您將其標記爲已接受 –