重定向回 Laravel 4 时保留表单值
Keep form values when redirect back in Laravel 4
当 Redirect::back 在 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); }}
但是还是不行。任何帮助将不胜感激。
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')
嘿,如果您使用的是 laravel 5.2 或更高版本,则无需编写
Redirect::back()
您可以简单地使用 back()
辅助函数来完成此操作。
所以你可以用下面的代码替换你的代码。
if ($validator->fails()){
return Redirect::back()->withErrors($validator)->withInput();
}
这是 back() helper function documentation 的 link。
当 Redirect::back 在 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); }}
但是还是不行。任何帮助将不胜感激。
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')
嘿,如果您使用的是 laravel 5.2 或更高版本,则无需编写
Redirect::back()
您可以简单地使用 back()
辅助函数来完成此操作。
所以你可以用下面的代码替换你的代码。
if ($validator->fails()){
return Redirect::back()->withErrors($validator)->withInput();
}
这是 back() helper function documentation 的 link。