前提・実現したいこと
Laravel8 でログイン機能を実装しています。
認証試行の際に、何らかの理由でログインに失敗した時に失敗理由を取得して画面に表示させたいです
現在は以下のように書いて false が返ってきたら「ログインに失敗しました。」というテキストを表示させています
php
1if (!Auth::attempt(['email' => $email, 'password' => $password])) { 2 return redirect('login')->with('error', 'ログインに失敗しました。'); 3} 4$request->session()->regenerate(); 5return redirect('url')->with('success', 'ログインしました。');
「ログインに失敗しました。」の部分を resources/lang/ja/auth.php
に設定している内容を表示したいです
例えばログイン試行失敗の上限回数を超えていたら
php
1redirect('login')->with('error', 'ログインに失敗しました。');
ではなく
php
1redirect('login')->with('error', config('auth.throttle'));
の値を表示させたいのですが、 attempt() の戻り値が bool のためエラーの判別ができなくて困っています。
(そもそも attempt() を使用してエラーの判別ができうるものなのかもわかっていません。)
該当のソースコード
[前提・実現したいこと]に記載しました。
試したこと
- ドキュメントを読む
- [laravel8 auth 失敗 メッセージ -バリデーション] などで検索する
補足情報(FW/ツールのバージョンなど)
- Laravel8
- php7.4
他に必要な情報がございましたらご指示いただけますと幸いです
お手数おかけしますがどなたかわかる方がいらっしゃいましたらご回答よろしくお願いいたします
回答1件
あなたの回答
tips
プレビュー