【问题标题】: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

【问题讨论】:

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

标签: php laravel laravel-blade


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-13
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 2021-05-26
    • 2013-07-09
    • 2020-01-08
    相关资源
    最近更新 更多