我试图重定向到上一页的消息时,有一个致命的错误。
App::fatal(function($exception)
{
return Redirect::back()->with('msg', 'The Message');
}
在视图中尝试访问msg
Sessions::get('msg')
但是什么都没有渲染,是我做错了吗?
我试图重定向到上一页的消息时,有一个致命的错误。
App::fatal(function($exception)
{
return Redirect::back()->with('msg', 'The Message');
}
在视图中尝试访问msg
Sessions::get('msg')
但是什么都没有渲染,是我做错了吗?
当前回答
我知道这是一个老帖子,但这个答案可能会帮助到一些人。
在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
例如
希望这能帮助到一些人。欢呼。
其他回答
对于拉拉维尔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") : '' !!}
这是100%的解决方案
*上面提到的解决方案不适合我,但这一个适用于我在laravel 5.8:
$status = 'Successfully Done';
return back()->with(['status' => $status]);
并接受它为:
@if(session()->has('status'))
<p class="alert alert-success">{{session('status')}}</p>
@endif
你有一个错误(拼写错误):
Sessions::get('msg')// an extra 's' on end
应该是:
Session::get('msg')
我想,现在应该有用了,对我来说确实有用。
另一种方法是
控制器
use Session;
Session::flash('message', "Special message goes here");
return Redirect::back();
View
@if (Session::has('message'))
<div class="alert alert-info">{{ Session::get('message') }}</div>
@endif