Forms Laravel表单帮助程序在验证错误后不显示数据

Forms Laravel表单帮助程序在验证错误后不显示数据,forms,laravel,validation,form-helpers,Forms,Laravel,Validation,Form Helpers,我对laravel 5.3中的forms helper有问题。 我有一个foreach,它以一种形式显示我的数据。 在我提交表单并且验证失败之前,一切都很正常。 因此,当验证失败时,我表单中的输入文本不会显示previus数据,而只显示提交的数据。 代码如下: @foreach($cars as $car) {!! Form::model($car, ['route' => ['cars.update', $car->id], 'method' => 'PUT']) !

我对laravel 5.3中的forms helper有问题。 我有一个foreach,它以一种形式显示我的数据。 在我提交表单并且验证失败之前,一切都很正常。 因此,当验证失败时,我表单中的输入文本不会显示previus数据,而只显示提交的数据。 代码如下:

@foreach($cars as $car)
    {!! Form::model($car, ['route' => ['cars.update', $car->id], 'method' => 'PUT']) !!}
        <div class="col-md-2">
            {{ Form::label('name', $car->name) }}
            {{ Form::text('name', $car->name, ['class' => 'editbox-normal']) }}
        </div>
        <div class="col-md-2">
            {{ Form::label('phone', 'Phone') }}
            {{ Form::text('phone', null, ['class' => 'editbox-normal']) }}
        </div>
        <div class="col-md-2">
            {{ Form::label('license_plate', 'License plate') }}
            {{ Form::text('license_plate', null, ['class' => 'editbox-normal']) }}
        </div>
        <div class="col-md-2">
            {{ Form::label('total_km', 'KM') }}
            {{ Form::text('total_km', null, ['class' => 'editbox-normal']) }}
        </div>
        <div class="col-md-1 col-md-offset-3 flex-space-around">
            {{ Form::submit('Submit', ['class' => 'btn btn-edit']) }}
        </div>
    {!! Form::close() !!}
@endforeach
@foreach($cars作为$car)
{!!Form::model($car,['route'=>['cars.update',$car->id],'method'=>'PUT'])
{{Form::label('name',$car->name)}
{Form::text('name',$car->name,['class'=>'editbox normal']]}}
{{Form::label('phone','phone')}
{{Form::text('phone',null,['class'=>'editbox normal'])}
{{Form::label('license_plate','license plate')}
{{Form::text('license_plate',null,['class'=>'editbox normal'])}
{{Form::label('total_km','km')}
{{Form::text('total_km',null,['class'=>'editbox normal'])}
{{Form::submit('submit',['class'=>'btn btn edit'])}
{!!Form::close()!!}
@endforeach
如果我提交了其中一个表单,但验证失败,例如,name是必需的,name输入为空,laravel flash$error,但每个表单的每个输入都会显示提交表单的数据。在本例中,输入的每个姓名都将为空,电话、车牌和总公里数将具有相同的值。 相反,如果我使用纯html代码进行输入,所有链接都可以正常工作。 此外,如果您注意到,fist标签的值设置为$car->name,与文本输入相同,但在标签中显示正确,在输入中显示不正确。 有人知道为什么吗?
提前谢谢

这实际上是预期的行为。这样,当您忘记输入姓名时,您输入的其余数据不会丢失。
然而,在您的用例中,这会导致意外的结果(因为您在同一页面上有多个表单)。我建议将表格分成不同的页面:)

您能告诉我们如何进行验证吗?是在控制器中,还是在请求或其他表单中?我正在使用请求验证。因此,您建议使用编辑页面,而不是在同一页面中执行读取和更新操作?还有一件事我不明白,为什么在标签上显示数据,而不是在文本输入中不显示?技术上,他们有同样的行为,还是我错了?是的。为每辆车制作一个单独的编辑页面。Laravel资源控制器具有对此的内置支持。关于标签中显示的数据:
Form::label
的第二个参数应该是字段的名称(就像您在电话中所做的那样)。在使用
Form::model
时,不应将value参数用于输入。自动填充的:)