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



i具有动态形式,该形式通过输入字段循环并为每个输入绘制一个动态名称。如何在未知名称上使用$request->input('')。我也想验证这些字段,但没有验证我的名字字段,因此我需要分辨循环字段与amp;输入。

示例fieldset-

<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();,但是我无法分辨该名称是选项还是任何其他输入字段。

我认为您应该使用一个隐藏的数组输入来传递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
}

我希望您能理解。

最新更新