Laravel 请求:获取上一次的输入数据 2 个改进

问题

在 Laravel 中,有办法在控制器中获取前一次请求的输入数据么?例如一个常见的操作是用户提交了登录表单,而密码写错了,我们在返回登录表单页面时,会默认填入上次填写的用户名(下图邮箱),这样用户就不需要输入两次用户名了:

获取上一次的输入数据

回答

要获取前一次请求传输的数据,可以使用 Illuminate\Http\Request 实例的 old 方法。 该方法将从会话( session )中拉取之前传输的值:

$username = $request->old('username');

Laravel 还提供了一个全局辅助函数 old,如果要在 Blade 模板中 显示旧数据, old 辅助函数会更方便。如果给定字段的旧值不存在,将返回 null

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

这个特性对于在出错情况下恢复原数据是不是非常有用?

参考

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!