2015-07-01 5 views
1

Я ищу лучшее решение для отображения флеш-сообщения после входа/выхода/регистрации. Эти методы хранятся в AuthController через trait AuthenticatesAndRegistersUsers. Моим вторым условием является не редактирование AuthenticatesAndRegistersUsers.флэш-сообщение в контроллере auth

На самом деле это взломанный снизу, но я не доволен этим. У вас есть идея?

приложение/HTTP/контроллеры/авт/authcontroller.php

public function postLoginwithFlash(Request $request) 
{ 
return $this->postLogin($request)->with('flash_message','You are logged'); 
} 

и routes.php

Route::post('login', ['as' => 'login', 'uses' => 'Auth\[email protected]']); 

и просмотров OFC

@if (Session::has('flash_message')) 
{{ Session::get('flash_message') }} 
@endif 

ответ

1

Не существует «родного» способа сделать это. В любом случае вам придется изменить/изменить маршрут.

Либо вы реализуете все в route.php, либо делаете это так, как вы уже предложили, - создайте новый метод в AuthController. По сути, это одно и то же.

Однако, я бы порекомендовал вам сделать правильную проверку вручную вместо возврата postLogin(), например .:

if (Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password')])) { 
    // Authentication passed... 
    return redirect()->route('dashboard'); 
} else { 
    return redirect()->refresh()->with('error', 'Those are not correct credentials!'); 
} 

Таким образом, вы можете добавить различные флэш-сообщения на успех и ошибок случаях в то время как ваш предложенный код покажет одно и то же сообщение независимо от результата.

0

Вы можете редактировать файл ./resources/lang/en/auth.php язык, а затем изменить эту строку

'failed' => 'Your custom login error message', 
Смежные вопросы