Laravel - 验证保存选定的选项

时间:2018-05-18 08:36:53

标签: laravel validation laravel-5 laravel-4

我有一个表格有一些验证。当其中一个错误发生时,将在输入的值字段中使用{{ old('name') }}保存输入字段的值。但这仅适用于常规文本输入字段。

我的问题。

如何使用相同的方法保存选择框的选定值?因此,如果用户遇到错误,仍会选择他们选择的选项吗?

所选

的代码
<select name="period_id" id="" class="form-control {{ $errors->has('period_id') ? ' is-invalid' : '' }}">
   <option value="">Choose a period...</option>
     @foreach($plans as $plan)
     <option value="{{ $plan->id }}">
        {{ $plan->name }}
     </option>
     @endforeach
</select>

@if($errors->has('period_id'))
 <p style="color: red;"> {{ $errors->first('period_id') }}</p>
@endif

修改

array:9 [▼
  "_token" => "flBWl0qRV7GnMYL0D90G"
  "name" => "Product name"
  "description" => "Descriptiobn"
  "price" => "1,000"
  "productable_type" => "App\Plan"
  "period_id" => "2"
  "periodically_price" => "25"
  "composer_package" => "asdasdsasasad"
  "thumbnail" => UploadedFile {#654 ▶}
]

2 个答案:

答案 0 :(得分:3)

您可以检查每个选项,并将selected属性添加到旧选项中。

<option value="{{ $plan->id }}" {{ $plan->id === old('planid') ? 'selected' : '' }}>

答案 1 :(得分:0)

您可以通过{!! Form::select("input_name", $optionForSelect, old('input_name', isset($valueInput) ? $valueInput : ''), ['class' => 'form-control', 'id' => 'input_name']) !!}

的表单助手进行尝试

{{1}}