刀片未在视图上显示消息
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) 上显示项目
Laravel 8:在刀片视图上过滤/显示数据,数组保存在数据库中