laravel - 进行重定向时如何保留表单的值
问题描述
我正在使用 Laravel 5.6 做一个静态网站,这意味着我的服务器没有异步请求。在我的网站/users/create中,我有一个添加新用户的表单。
当此表单的字段中有错误时,UserController
重定向到相同的地址/users/create,但使用闪存数据打印有错误:
return redirect('/users/create')->with(['status' => 'Errors in the form.']);
但问题是这样做时我丢失了表单的所有数据。有没有一种简单的方法可以在我的情况下保留表单的数据?
我希望此功能工作的浏览器是 Firefox 和/或 Chrome。无需为 IE 或任何其他浏览器烦恼。我注意到在这两个浏览器上进行刷新时,表单的数据总是被保留,我想知道我是否可以将它用于我的网站。也许有一个 Laravel 助手可以使用闪存数据进行刷新请求?
谢谢您的帮助。
解决方案
在您的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')}}"
推荐阅读
- java - 如何在android中降低Drop Down的高度?
- javascript - 如何在第二次触发侦听器事件之前设置延迟
- php - 类别中计数帖子的php循环错误
- javascript - 在使用 React 缩放多个组件的同时提高性能
- sql-server - 在 SQL 中查询列标题数据
- laravel - 尝试在 laravel 中建立关系时出错
- python - 在 pygame 上验证 Pong 碰撞逻辑
- c# - 如何使用参数从 Lua / MoonSharp 脚本调用和等待异步 C# 方法?
- tokenize - 有没有办法获取在 BERT 中生成某个令牌的子字符串的位置?
- c++ - free():在 tcache 2 中检测到双重空闲