为了账号安全,请及时绑定邮箱和手机立即绑定

使用会话在登录表单上显示错误的问题

使用会话在登录表单上显示错误的问题

PHP
隔江千里 2023-09-15 21:50:26
我在 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().


查看完整回答
反对 回复 2023-09-15
  • 1 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号