【发布时间】:2020-06-26 18:02:36
【问题描述】:
我正在为我的应用程序使用 Laravel。那就是具有可克隆的字段。如果验证失败,表单正在读取并丢失所有克隆字段的值。它适用于普通字段,但适用于所有克隆字段。
保持代码更小,我只发布了两个可克隆字段,实际上, 克隆组大约有 5 个字段。
<select name="next_station_id[]"
class="select2 next-station-select cloner-field form-control @error('next_station_id') is-invalid @enderror"
required>
<option>Select Next Station</option>
@foreach($stationsData as $id => $name)
<option value="{{$id}}"
{{ (isset($route) && $route->station->id == $id) ? 'selected' : ($id == old('next_station_id') ? 'selected' : NULL) }}>{{\Illuminate\Support\Str::of($name)->ucfirst()}}</option>
@endforeach
</select>
<input type="number" name="station_order[]"
data-inputmask-regex="([0-5]?[0-9]):([0-5]?[0-9])"
class="cloner-field station-order form-control @error('station_order') is-invalid @enderror"
placeholder="{{__('admin.route.form.order')}}"
value="{{ isset($route->station_order) ? $route->station_order : old('station_order') }}"
autocomplete="off" required>
【问题讨论】:
-
设置控制器如 return redirect()->back()->with('error_message', 'message')->withInput(['station_order'=>'XXX','next_station_id'= >'YY']);并在视图中 isset(old('next_station_id'))
-
我已经为该字段设置了
old。这里的情况有点不同。问题是可克隆字段。它生成其值的数组。您所说的适用于单个领域。我如何在克隆字段中做到这一点? -
现在我明白了...,您的意思是动态字段,就像
name="station_order[]是这里的动态输入字段 -
@STA 是的,这是正确的。
-
它也可以在create方法中使用,如果
next_station_id[]有旧数据,则进行foreach循环,否则no