Laravel - 在刷新

时间:2018-02-06 18:41:31

标签: forms laravel

如何在刷新页面时阻止我的表单重新提交。我发现的解决方案建议使用重定向,我正在使用。

视图中的表单 admin.enrollform.blade.php

    <form id="enrollform" class="form-horizontal" role="form" method="post"
      enctype="multipart/form-data"
      action="{{route('storeStudent', ['site' => $site->site_url, 'lang' => $lang] )}}">
      <input type="visible" name="_token" id="_token" value="{{ csrf_token() }}"/>
      ...
    </form>

laravel控制器:

public function store(Request $request, $site, $lang = null)
{

    ....

    return view('admin.enrollform', [
        'message'       => $message
    ]);
}

如果成功,控制器将返回一个指向同一页面的视图。因此,再次加载相同的页面,并显示一条消息。表格是空的。

但是,如果此时单击“刷新”,表单将再次提交。我想它只是刷新页面,无论是否有从控制器收到的消息。

我有什么方法可以使用CSRF令牌来验证这一点吗?根据我的理解,CSRF令牌仅验证会话是否有效,并且与表单本身无关。

感谢。

1 个答案:

答案 0 :(得分:3)

使用return back()

return back()->with(['message' => $message]);