我试图重定向到上一页的消息时,有一个致命的错误。

App::fatal(function($exception)
{
    return Redirect::back()->with('msg', 'The Message');
}

在视图中尝试访问msg

Sessions::get('msg')

但是什么都没有渲染,是我做错了吗?


当前回答

Laravel 5.6。*

控制器

if(true) {
   $msg = [
        'message' => 'Some Message!',
       ];

   return redirect()->route('home')->with($msg);
} else {
  $msg = [
       'error' => 'Some error!',
  ];
  return redirect()->route('welcome')->with($msg);
}

叶片模板

  @if (Session::has('message'))
       <div class="alert alert-success" role="alert">
           {{Session::get('message')}}
       </div>
  @elseif (Session::has('error'))
       <div class="alert alert-warning" role="alert">
           {{Session::get('error')}}
       </div>
  @endif

Enyoj

其他回答

在Laravel 5.4中,以下内容对我有用:

return back()->withErrors(['field_name' => ['Your custom message here.']]);

对于拉拉维尔3

只是提醒一下@giannis christofakis的回答;对于任何使用Laravel 3替代

return Redirect::back()->withErrors(['msg', 'The Message']);

:

return Redirect::back()->with_errors(['msg', 'The Message']);

Try

return Redirect::back()->withErrors(['msg' => 'The Message']);

在视图中调用这个

@if($errors->any())
<h4>{{$errors->first()}}</h4>
@endif

它适用于我和Laravel版本是^7.0

在控制器

return back()->with('success', 'Succesfully Added');

关于Blade文件

@if (session('success'))
      <div class="alert alert-success">
         {!! session('success') !!}
      </div>
@endif

有关文档,请参阅Laravel文档

当我试图重定向时,我收到了这条消息:

public function validateLogin(LoginRequest $request){
    //

    return redirect()->route('sesion.iniciar')
            ->withErrors($request)
            ->withInput();

当正确的方式是:

public function validateLogin(LoginRequest $request){
    //

    return redirect()->route('sesion.iniciar')
            ->withErrors($request->messages())
            ->withInput();