()消息重新引导Laravel
当发生致命错误时,尝试使用消息redirect到上一页。
App::fatal(function($exception) { return Redirect::back()->with('msg', 'The Message'); }
在视图试图访问味精
Sessions::get('msg')
但是没有任何东西被渲染,我在这里做错了什么?
尝试
return Redirect::back()->withErrors(['msg', 'The Message']);
并在你的视图内调用这个
@if($errors->any()) <h4>{{$errors->first()}}</h4> @endif
另一种方法是
调节器
Session::flash('message', "Special message goes here"); return Redirect::back();
视图
@if (Session::has('message')) <div class="alert alert-info">{{ Session::get('message') }}</div> @endif
Laravel 5:
return redirect()->back()->with('success', ['your message,here']);
刀:
@if (\Session::has('success')) <div class="alert alert-success"> <ul> <li>{!! \Session::get('success') !!}</li> </ul> </div> @endif
你有错误(拼写错误):
Sessions::get('msg')// an extra 's' on end
应该:
Session::get('msg')
我想,现在应该是有效的,对我来说是这样。
只需设置闪光消息并redirect到您的控制器function。
session()->flash('msg', 'Successfully done the operation.'); return redirect()->back();
然后,您可以在视图刀片文件中获取消息。
{!! Session::has('msg') ? Session::get("msg") : '' !!}
在Laravel 5.4中为我工作:
return back()->withErrors(['field_name' => ['Your custom message here.']]);
我停止写这个自己laravel赞成Laracasts包处理这一切为你。 这是非常容易使用,并保持您的代码清洁。 甚至包括如何使用它的laracast 。 你只需要做:
通过Composer拉入包装。
"require": { "laracasts/flash": "~1.0" }
在app / config / app.php中包含服务提供者。
'providers' => [ 'Laracasts\Flash\FlashServiceProvider' ];
在底部的同一文件中添加一个门面别名:
'aliases' => [ 'Flash' => 'Laracasts\Flash\Flash' ];
将HTML拉入视图中:
@include('flash::message')
消息右侧有一个closuresbutton。 这依赖于jQuery,所以确保在引导之前添加。
可选更改:
如果您没有使用引导程序,或者想要跳过包含闪存消息并自行编写代码:
@if (Session::has('flash_notification.message')) <div class="{{ Session::get('flash_notification.level') }}"> {{ Session::get('flash_notification.message') }} </div> @endif
如果你想查看@include('flash::message')
引入的HTML,你可以在vendor/laracasts/flash/src/views/message.blade.php
find它。
如果你需要修改partials:
php artisan view:publish laracasts/flash
这两个包视图现在将位于`app / views / packages / laracasts / flash /'目录中。
我面临同样的问题,这工作。
调节器
return Redirect::back()->withInput()->withErrors(array('user_name' => $message));
视图
<div>{{{ $errors->first('user_name') }}}</div>
对于Laravel 3
只是一个@giannis christofakis答案; 任何人使用Laravel 3replace
return Redirect::back()->withErrors(['msg', 'The Message']);
有:
return Redirect::back()->with_errors(['msg', 'The Message']);
当我尝试redirect时,我收到了这条消息:
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();