我有一张表格。验证失败后,我会重定向到同一页面。 “mobilepage1.blade.php”
但我的所有参赛作品都已消失。我希望我的所有参赛作品都留下来。执行密码。
我使用View::make
return View::make('mobilepages.mobilepage1', array('errormessages' => 'errormessages'));
我用:
$input = Input::all();
获取输入。
答案 0 :(得分:1)
所有输入
return Redirect::to('mobilepages')->withInput(Input::all());
密码
return Redirect::to('mobilepages')->withInput(Input::except('password'));
答案 1 :(得分:0)
在表单视图中,对输入使用类似的内容:
<?= Form::text('title', (Input::get('title') ?: NULL)); ?>
(Input::get('title') ?: NULL)
运算符如果已设置则返回先前的title
值,如果未设置,则返回任何值。
答案 2 :(得分:0)
应该使用以下内容完成:
public formSubmitMethod() // Change formSubmitMethod with appropriate one
{
// This is the form submit handler
// Set rules and validate the inputs
$rules = array(...); // set rules here but there are other ways
$inputs = Input::except('_token'); // everything but _token
$validatior = Validator::make($input, $rules);
if($validatior->fails()) {
// Validation failed
return Redirect::back()->withInput()->withErrors($validatior);
}
else {
// Success
// Do whatever you want to do
}
}
在表单中,使用Input::old('fieldname')
,如下所示:
{{ Form::input('username', Input::old('fieldname')) }}
就是这样,现在如果您重定向回来输入无效的用户输入,那么您的表单字段将重新填充旧值。不要在密码字段中使用old()
方法。您还可以使用{{ $errors->first('username') }}
之类的内容访问字段的错误消息,因此如果此(username
)字段无效,则会打印出此字段的错误消息。
此外,请注意,要重定向,我使用Redirect::back()
而非View::make()
,它(make
)不是用于重定向,而是用于呈现视图以显示它。