Laravel 5.3 表单在验证失败时不保留旧输入
Laravel 5.3 forms not retaining old input when validation fails
我有一个用户可以创建项目的表单。然而,当表单被提交但未通过验证时,旧的输入不会被记住,而只是被擦除,这让用户感到沮丧。
我正在为此使用 laravelcollective 表单,我的 html 看起来像:
{{ Form::open(['route' => 'my.route', 'class' => 'form-horizontal', 'files' => true]) }}
<div class="form-group">
{{ Form::label('name', 'Name', ['class' => 'control-label col-md-3']) }}
<div class="col-md-9">
{{ Form::text('name', null, ['placeholder' => 'hello world' ,'class' => 'form-control']) }}
</div>
</div>
<div class="form-group">
{{ Form::label('description', 'Description', ['class' => 'control-label col-md-3']) }}
<div class="col-md-9">
{{ Form::textarea('description', null, ['placeholder' => 'hello world', 'class' => 'form-control']) }}
<span>some sub-text</span>
</div>
</div>
<div class="form-group">
{{ Form::label('date', 'Date', ['class' => 'control-label col-md-3']) }}
<div class="col-md-9">
{{ Form::text('date', null, ['placeholder' => 'hello world', 'class' => 'form-control']) }}
</div>
</div>
{{ Form::close() }}
即使我像这样输入旧值,它也不会保留旧输入
{{ Form::text('name', old('name') , ['placeholder' => 'hello world' ,'class' => 'form-control']) }}
我在后端存储项目的方法如下所示,其中 ItemRequest 负责验证。
public function store(ItemRequest $request, ImageMagick $imageMagick)
{
$item = new Item;
$item->name = $request->name;
$item->description = $request->description;
$item->date = $request->date;
$item->save();
return redirect()->route('some.other.route');
}
正在尝试确定旧输入未被记住的原因。
在重定向路由方法的最后使用withInput()
方法,像这样:
// If validation failed, use this method to make the old inputs available in the view
return redirect()->route('some.other.route')->withInput();
See more about Old Inputs in Laravel
希望对您有所帮助!
我有一个用户可以创建项目的表单。然而,当表单被提交但未通过验证时,旧的输入不会被记住,而只是被擦除,这让用户感到沮丧。
我正在为此使用 laravelcollective 表单,我的 html 看起来像:
{{ Form::open(['route' => 'my.route', 'class' => 'form-horizontal', 'files' => true]) }}
<div class="form-group">
{{ Form::label('name', 'Name', ['class' => 'control-label col-md-3']) }}
<div class="col-md-9">
{{ Form::text('name', null, ['placeholder' => 'hello world' ,'class' => 'form-control']) }}
</div>
</div>
<div class="form-group">
{{ Form::label('description', 'Description', ['class' => 'control-label col-md-3']) }}
<div class="col-md-9">
{{ Form::textarea('description', null, ['placeholder' => 'hello world', 'class' => 'form-control']) }}
<span>some sub-text</span>
</div>
</div>
<div class="form-group">
{{ Form::label('date', 'Date', ['class' => 'control-label col-md-3']) }}
<div class="col-md-9">
{{ Form::text('date', null, ['placeholder' => 'hello world', 'class' => 'form-control']) }}
</div>
</div>
{{ Form::close() }}
即使我像这样输入旧值,它也不会保留旧输入
{{ Form::text('name', old('name') , ['placeholder' => 'hello world' ,'class' => 'form-control']) }}
我在后端存储项目的方法如下所示,其中 ItemRequest 负责验证。
public function store(ItemRequest $request, ImageMagick $imageMagick)
{
$item = new Item;
$item->name = $request->name;
$item->description = $request->description;
$item->date = $request->date;
$item->save();
return redirect()->route('some.other.route');
}
正在尝试确定旧输入未被记住的原因。
在重定向路由方法的最后使用withInput()
方法,像这样:
// If validation failed, use this method to make the old inputs available in the view
return redirect()->route('some.other.route')->withInput();
See more about Old Inputs in Laravel
希望对您有所帮助!