【问题标题】:I have a problem with session flash on Laravel我在 Laravel 上的 session flash 有问题
【发布时间】:2019-03-04 19:45:06
【问题描述】:

首先我向您展示我使用session::flash 放置即时消息的线路代码。我在 php 中使用 Laravel 框架。

public function destroy($id){

  $city = CityNew::find($id);

  try {

    $city->delete();

  } catch (\Illuminate\Database\QueryException $e) {

      Session::flash('message', 'There was an error');
      return redirect()->back(); 
    }

    Session::flash('message', 'It is ok');
    return redirect()->back();
} 

我的疑问是如何使用session::flash 以红色显示消息?现在cath() 内部的消息以绿色显示,如果不可能,我想知道哪种方式可以放置另一种类型的消息,每次都使用session::flash。谢谢!

【问题讨论】:

  • 在视图中添加一些 css 类以显示为红色。

标签: php laravel


【解决方案1】:

在后端指定消息的“类型”

Session::flash('error', 'There was an error');

Session::flash('success', 'It is ok');

然后在你的视图中,相应地显示

 @if(Session::has('error'))
     <span class="error">{{ Session::pull('error') }}</span>
 @endif

 @if(Session::has('success'))
     <span class="success">{{ Session::pull('success') }}</span>
 @endif

并且在css中,你可以添加颜色:

.error { color: red }
.success { color: green }

当然,这只是一个例子。您可能想使用一些 CSS 库,例如 Bootstrap、Bulma、...

【讨论】:

  • 谢谢!你的回答很有用。但是,在这种情况下,我不使用引导程序,而是在我声明 @if 的同一页面中使用 &lt;style&gt;&lt;/style&gt;
【解决方案2】:

请参阅此SO post 以使用 Bootstrap 设置不同级别的 flash 消息样式

【讨论】:

    猜你喜欢
    • 2017-10-14
    • 2017-02-04
    • 2013-03-13
    • 2023-01-29
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    • 2014-08-26
    • 2015-11-07
    相关资源
    最近更新 更多