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

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

在视图中尝试访问msg

Sessions::get('msg')

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


当前回答

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

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();

其他回答

对于拉拉维尔3

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

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

:

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

只需设置flash消息和重定向回从你的控制器功能。

    session()->flash('msg', 'Successfully done the operation.');
    return redirect()->back();

然后你可以在视图刀片文件中得到消息。

   {!! Session::has('msg') ? Session::get("msg") : '' !!}

我也遇到过同样的问题,这个方法奏效了。

控制器

return Redirect::back()->withInput()->withErrors(array('user_name' => $message));

View

<div>{{{ $errors->first('user_name') }}}</div>

我知道这是一个老帖子,但这个答案可能会帮助到一些人。

在Laravel 8。这对我来说是有效的:你可以将错误返回到上一页或另一页。

return Redirect::back()->withErrors(['password' => ['Invalid Username or Password']]);

这也可以:

return view('auth.login')->withErrors(['username' => ['Invalid Username or Password']]);

但是,请确保您返回的页面/视图具有与withErrors方法中传递的第一个参数(在本例中是用户名或密码)对应的字段名,并且视图中的@error指令像这样引用相同的字段

@error('password') //or @error('username')
 <span class="invalid-feedback" role="alert">
   <strong>{{ $message }}</strong>
 </span>
@enderror 

例如

希望这能帮助到一些人。欢呼。

在laravel 5.8中,你可以做以下事情:

return redirect()->back()->withErrors(['name' => 'The name is required']);

在刀刃上:

@error('name')
<p>{{ $message }}</p>
@enderror