当名称字段未知时,Laravel会获得输入

时间:2018-02-23 15:28:24

标签: php laravel laravel-5

我有一个动态表单,它循环输入字段并为每个输入提取动态名称。如何在未知名称标签上使用$request->input('')。我也想验证这些字段,但不是我的名字字段,所以我需要告诉循环字段和字段之间的差异。输入。

示例字段集 -

<form id="" method="post" action="{{ route('orderStore') }}">
   {{ csrf_field() }} 

   <input id="name" type="text" name="full-name" />

    @forelse($options as $option)
    <select class="ticket-qty" name="{{ $option->id }}">
        <option value="0">0 Option</option>
        <option value="1">1 Option</option>
        <option value="2">2 Option</option>
        <option value="3">3 Option</option>
        <option value="4">4 Option</option>
        <option value="5">5 Option</option>
    </select>
    @empty
        <p>Sorry, no inputs fields</p>
    @endforelse
</form>

我知道您可以使用$request->all();,但我无法判断该名称是选项还是任何其他输入字段。

1 个答案:

答案 0 :(得分:1)

我认为你应该使用一个隐藏的数组输入来传递id和单独的选择器来选择这样的选项。

<form id="" method="post" action="{{ route('orderStore') }}">
{{ csrf_field() }} 

<input id="name" type="text" name="full-name" />

@forelse($options as $option)
    <input name="option_id[]" value="{{ $option->id }}" hidden>
    <select class="ticket-qty" name="option_selected[]">
        <option value="0">0 Option</option>
        <option value="1">1 Option</option>
        <option value="2">2 Option</option>
        <option value="3">3 Option</option>
        <option value="4">4 Option</option>
        <option value="5">5 Option</option>
    </select>
    @empty
        <p>Sorry, no inputs fields</p>
    @endforelse
</form>

现在,您可以在后端访问这些值,例如

@foreach($request->option_id as $key=>$value){
    // here $value is option id 
    // $request->option_selected[$key] is the selected option of the above id
}

我希望你能理解。