我试图在Redirect ::回到Laravel 4时保留表单的值,但我找不到办法来做到这一点。
这是我的表格:
{{ 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); }}
但它仍然无法奏效。任何帮助将不胜感激。
答案 0 :(得分:1)
if ($validator->fails()){
return Redirect::back()->withErrors($validator);
}
更改为,
if ($validator->fails()){
return Redirect::back()->withErrors($validator)->withInput();
}
您可以通过Input::old()
方法检索该值。
您尝试过: return Redirect::back()->withErrors($validator)->with('nameValue', Input::get('myName'));
以上,您可以从Session
获取值。
Session::get('nameValue')
答案 1 :(得分:0)
嘿,如果您使用的是laravel 5.2或更高版本,则不需要编写
Redirect::back()
您可以简单地使用back()
辅助函数来完成此操作。
因此您可以将代码替换为以下代码。
if ($validator->fails()){
return Redirect::back()->withErrors($validator)->withInput();
}