如何在进行重定向时保持表单的值

时间:2018-06-15 09:42:15

标签: laravel forms redirect

我正在使用Laravel 5.6进行静态网站,这意味着我的服务器没有异步请求。在我的网站 / users / create 中,我有一个表单来添加新用户。

如果此表单的字段中存在错误,UserController会重定向到同一地址 / users / create ,但要使用Flash数据进行打印,则会出现错误:< / p>

return redirect('/users/create')->with(['status' => 'Errors in the form.']);

但问题是我在这样做时丢失了表单的所有数据。有一种简单的方法可以保存表单的数据吗?

我希望此功能可用的浏览器是Firefox和/或Chrome。无需为IE或任何其他浏览器而烦恼。我注意到,当在这两个浏览器上刷新时,表单的数据总是被保留,我想知道我是否可以将它用于我的网站。也许有一个Laravel帮助器用flash数据做刷新请求?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

UserController 中,您可以使用

return redirect()->back()->withInput();

并在您的视图中检索旧值

<input type="text" name="username" value="{{ old('username') }}"> 

有关详细信息,请访问官方文档https://laravel.com/docs/5.6/requests#old-input

<强>更新

您还可以将默认值设置为旧输入

value="{{old('username', 'default_value')}}"