刀片未在视图上显示消息

Posted

技术标签:

【中文标题】刀片未在视图上显示消息【英文标题】:Blade not showing messages on the view 【发布时间】:2020-02-05 03:28:59 【问题描述】:

我在 laravel 中显示错误消息或会话消息时遇到问题。

注释引导 cdn,但没有区别。

有这样的代码,工作正常,刷新视图,但不显示错误:

控制器.php

return redirect()->route('trainers.show',[$trainer])->with('status','Entrenador actualizado correctamente');

blade.php

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

控制器.php

$validatedData = $request->validate([
            'name' => 'required|max: 10',
            'avatar' => 'required|image',
            'slug' => 'required',
            'description' => 'required',
        ]);

blade.php

@if ($errors->any())
<div class="alert alert-danger">
    <ul>
        @foreach ($errors->all() as $message)
        <li> $message </li>
        @endforeach
    </ul>
</div>
@endif

【问题讨论】:

我认为这是一个重复的问题。请参考:***.com/questions/19838978/… 如果你刷新页面,闪现的会话变量在那个时候就消失了,它们只有在下一个请求时才可用......除非你通过刷新视图来表示别的意思 【参考方案1】:

关于会话状态,您可以使用\Session::has('status')\Session::get('status'),如下所示:

@if(\Session::has('status'))
    <div class="alert alert-success">
         \Session::get('status') 
    </div>
@endif

对于你的错误,你也可以使用has(),像这样:

@if ($errors->has())
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li> $error</li>
            @endforeach
        </ul>
    </div>
@endif

【讨论】:

以上是关于刀片未在视图上显示消息的主要内容,如果未能解决你的问题,请参考以下文章

回收站视图未在 Fragment (Android) 上显示项目

群组未在win32列表视图中显示的原因是什么?

Laravel 8:在刀片视图上过滤/显示数据,数组保存在数据库中

在刀片 laravel 中定义变量

UIAlertView 按钮(子视图)未在 iOS 7 中显示

选择器视图在选择器视图中显示数字但未在标签上正确显示?