在 Laravel 4 中重定向回时保留表单值
Posted
技术标签:
【中文标题】在 Laravel 4 中重定向回时保留表单值【英文标题】:Keep form values when redirect back in Laravel 4 【发布时间】:2015-05-01 03:24:15 【问题描述】:我试图在 Laravel 4 上 Redirect::back 时保留表单的值,但我找不到这样做的方法。
这是我的表格:
Form::open(array('route' => 'generate', 'files' => true))
Form::radio('myType', '1', true);
Form::label('myType', '1');
Form::radio('myType', '2');
Form::label('myType', '2');
Form::radio('myType', '3');
Form::label('myType', '3');
Form::text('myName');
Form::file('uploadImage');
Form::submit('Go');
Form::close()
还有我的控制器:
$validator = Validator::make(Input::all(), array('uploadImage' => 'required|image', 'myName' => 'required'));
if ($validator->fails())
return Redirect::back()->withErrors($validator);
我尝试了类似的东西:
return Redirect::back()->withErrors($validator)->with('nameValue', Input::get('myName'));
然后在视图中:
Form::text('myName', $nameValue);
但它仍然不起作用。任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:if ($validator->fails())
return Redirect::back()->withErrors($validator);
改成,
if ($validator->fails())
return Redirect::back()->withErrors($validator)->withInput();
您可以通过Input::old()
方法检索该值。
read more
你试过了: return Redirect::back()->withErrors($validator)->with('nameValue', Input::get('myName'));
以上,您可以从Session
获取值。
Session::get('nameValue')
【讨论】:
【参考方案2】:嘿,如果您使用的是 laravel 5.2 或更高版本,则无需编写
Redirect::back()
您可以简单地使用back()
辅助函数来执行此操作。
所以你可以用下面的代码替换你的代码。
if ($validator->fails())
return Redirect::back()->withErrors($validator)->withInput();
这是back() helper function documentation的链接。
【讨论】:
以上是关于在 Laravel 4 中重定向回时保留表单值的主要内容,如果未能解决你的问题,请参考以下文章