闪存数据

flash 闪存 是 ThinkPHP 中 session 一节: https://www.kancloud.cn/manual/thinkphp5_1/354117 所提供的方法,flash 闪存 的数据在下次请求之前有效,意味着这个数据只能输出一次,很符合这一节所要实现的业务场景.

  1. public function save(Request $request)
  2. {
  3. $requestData = $request->post();
  4. $result = $this->validate($requestData, 'app\user\validate\Auth');
  5. if (true !== $result) {
  6. return redirect('user/auth/create')->with('validate',$result);
  7. } else {
  8. dump($requestData);
  9. }
  10. }

return redirect('user/auth/create')->with('validate',$result);redirect('user/auth/create') 是跳转到对应的 控制器/方法
with('validate',$result) 则是 redirect 提供的一个快捷 flash 闪存 的方法,与 Session::flash('validate',$result); 效果一样.

在前端中显示

非常简单的,我们只用在之前创建的注册页面 resources\views\user\auth\create.blade.php 中添加:

<div class="panel-heading mb-3">
    <h4>注册</h4>
</div>
++++
@if(session('validate'))
    <div class="alert alert-warning" role="alert">
        {{ session('validate') }}
    </div>
@endif
++++

这下就可以完美的显示出错误信息了.