【问题标题】:Laravel, return view with Request::oldLaravel,使用 Request::old 返回视图
【发布时间】:2016-09-11 13:30:27
【问题描述】:

fHello,例如我有简单的输入字段(页面 index.php)

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

在控制器中

$this->validate($request, ['name' => 'required']);

在此之后,我想在没有 Laravel 规则的情况下进行一些检查。例如

if($request['name'] != 'Adam') { return view('index.php'); } 

但重定向后,Request::old 为空。如何重定向到 index.php 并保存旧输入并使用 Request::old,或者它不可能?谢谢。

PS 它的例子,我知道 Laravel 有检查输入值的特殊规则

【问题讨论】:

  • 在视图中也可以使用value="{{ old('name') }}"

标签: validation laravel


【解决方案1】:

要将输入添加到您的请求中,请尝试添加:

return view('index.php')->withInput();

【讨论】:

  • 这不起作用,它适用于重定向,但不适用于视图
【解决方案2】:

如果有任何 url,您可以使用 back() 代替。这些功能可以帮助您在任何情况下都能够在不编写路由的情况下返回上一页。

return back()->withInput();

【讨论】:

  • 您能否编辑您提出的答案以扩展其作用以及它如何解决 OP?
【解决方案3】:

老问题,但为了将来参考,您可以通过预先闪烁请求输入来将输入返回到视图。

session()->flashInput($request->input());

return view('index.php');

那么在你看来你可以使用帮助器

{{ old('name') }}

{{Request::old('name')}}

【讨论】:

  • 感谢您的回答!
  • 你拯救了我的一天...问题已经解决... session()->flashInput(session('DATA'))
【解决方案4】:

在 Laravel 8.x 中,你可以简单地使用 $request-&gt;flash();

文档:https://laravel.com/docs/8.x/requests#flashing-input-to-the-session

【讨论】:

    猜你喜欢
    • 2016-12-20
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 2018-04-21
    • 2021-05-22
    • 2019-08-11
    • 1970-01-01
    相关资源
    最近更新 更多