使用输入Laravel重定向

时间:2019-05-16 08:40:10

标签: php laravel forms validation

我正在使用Laravel 5.5,并且知道withInput()及其用法。

我已经在页面上成功实现了此功能,但是在页面上使用了同一表格的多个版本。这意味着当我的验证失败时,它将返回输入并用相同的数据填写页面上的所有表格!

是否可以使用withInput()定位特定表单?

    if ($validation->fails()) {
        return redirect(Route('ROUTENAME', ['id' => $request->id]))
            ->withErrors($validation)
            ->withInput($request->all())
            ->send();
    }

表单实例一:

                    {{ Form::open(['route' => ['ROUTENAME', $data->id]]) }}
                    @component('forms.formname')
                        @slot('title', 'Add')
                        @slot('colour', 'info')
                        @slot('footer')
                            <div class="col-md-5 col-sm-5">{{ Form::submit(__('btn.submit'), ['class' => 'btn btn-primary']) }}</div>
                            </div>
                        @endslot
                    @endcomponent
                    {{ Form::close() }}

表单实例二:

                            {{ Form::open() }}
                            {{ Form::model($data1) }}
                            @section('title', 'summary')
                            @component('forms.formname')
                                @slot('colour', 'success')
                                @slot('title')
                                    @lang('title.name') #{{ $data1->id }}
                                @endslot
                                @slot('footer')
                                    <div class="col-md-5 col-sm-5">
                                        <a href="" class="btn btn-primary"><span
                                                    class="glyphicon glyphicon-pencil"></span> @lang('btn.Update')</a>
                                        <a href="{{ Route('ROUTENAME', ['id' => $data1->id]) }}"
                                           class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span>
                                            @lang('btn.Remove')</a>
                                    </div>
                                @endslot
                            @endcomponent
                            {{ Form::close() }}

任何建议将不胜感激。我特别希望使用输入数据来定位表单实例一。


编辑1

根据评论中的建议,我实现了这一点:

    if ($validation->fails()) {
        return redirect(Route('ROUTENAME', ['id' => $request->id]))
            ->withErrors($validation)
            ->with(['failed' => $request->all()])
            ->send();
    }

并在表单实例一的视图中:

                    @if(isset($failed))
                        {{ Form::model($failed) }}
                    @endif

这在提交时没有区别,并且在失败时使用相同的数据填充所有表单。

0 个答案:

没有答案