我在 Laravel 中有登錄表單,但在電子郵件和密碼字段上顯示錯誤時遇到問題。我制作了驗證器,其中包含該錯誤消息,并將其放入會話中并在 GET /login 上重定向它。我需要有關如何從會話中讀取這些值并將它們作為參數返回到 Blade 中的幫助,然后能夠顯示電子郵件和密碼的這些錯誤消息。目前驗證有效,但不顯示任何消息,僅重定向回登錄頁面。任何幫助表示贊賞。這是我的代碼。網頁.phpRoute::post('/login', 'Auth\LoginController@login')->name('login');登錄控制器public function showLoginForm(Request $request){ $session = $request->session()->get('data'); return view('auth.login', compact('session'));}public function login(Request $request){ $rules = array( 'email' => 'required|email', 'password' => 'required|alphaNum|min:3' ); $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { $request->session()->put('data', $request->input()); return redirect()->intended('login') ->withErrors($validator) ->withInput($request->session()->put('data', $request->input())); } else { $userData = array( 'email' => $request->get('email'), 'password' => $request->get('password') ); } if (Auth::attempt($userData)) { return redirect()->intended('dashboard'); } else { redirect()->intended('login'); }}
1 回答

慕的地8271018
TA貢獻1796條經驗 獲得超4個贊
你必須打電話->withErrors($validator->errors())
。這將返回正確的MessageBag
. 否則你將返回一個Validator
實例。之后您可以根據需要使用$errors
變量或標簽。@error
@edit 插入inteded()
使用route()
或back()
.
- 1 回答
- 0 關注
- 163 瀏覽
添加回答
舉報
0/150
提交
取消