在 laravel 5 中的表单请求验证后传递旧输入

Posted

技术标签:

【中文标题】在 laravel 5 中的表单请求验证后传递旧输入【英文标题】:Pass old input after Form Request validation in laravel 5 【发布时间】:2015-05-26 16:31:54 【问题描述】:

如果验证失败,我不清楚如何通过旧输入再次填写表单。

我的意思是,我知道如何在使用 Validator 类时传递数据,并在使用 withInput() 方法失败后重定向,但我正在尝试学习如何使用 laravel 5 中提供的表单请求。谢谢

【问题讨论】:

表单请求do that for you automatically。 【参考方案1】:
$username = Request::old('username');

或在视野中:

 old('username') 

阅读更多:http://laravel.com/docs/5.0/requests#old-input

【讨论】:

old('username') // 用于 laravel 早期版本的 xss 预防 在这种情况下我必须使用 e() 函数 你还有其他想法来做同样的事情吗?因为我喜欢使用占位符,所以我几乎必须在每个领域都这样做 @Gabz 如果您使用的是 L5,则无需关注 Alupotha 评论。 @Alupotha 作者在问题和标签中提到了 L5。 这似乎不适用于文件上传表单 - 我似乎无法在表单中填充文件上传部分 - 它只返回一个空数组【参考方案2】:

您可以使用如下所示的旧数据进行重定向,但出现验证错误

return redirect()->back()->withErrors($validator)->withInput();

【讨论】:

我试过了,但对我不起作用,如果验证条件失败,我们只需要在控制器中传递它【参考方案3】:

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

例如,当重定向到页面时,您还必须为 http 路由定义 withInput()

return back()->withInput();

【讨论】:

以上是关于在 laravel 5 中的表单请求验证后传递旧输入的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel 5 中使用表单请求验证时如何添加自定义验证规则

Laravel 5.5 - 同时验证多个表单请求

Laravel 5 更改表单请求失败的验证行为

Laravel 5表单请求验证返回禁止错误

Laravel 5.5 无法在表单请求类中制作验证器

Laravel 5.4 表单请求唯一验证:如何访问 id?