页面加载时我有这个表。
<table id="tableServices" class="table table-striped" style="width:100%">
<thead>
<th>Name</th>
<th style="width: 15%; text-align-last: right;"><a href="#" class="fa fa-plus" id="addRow"></a></th>
</thead>
<tbody id="list_for_am">
<tr>
<td colspan="2">
<input type="text" placeholder="Enter Name" class="form-control" name="worker[]">
</td>
</tr>
</tbody>
</table>
并使用此代码根据用户的喜好添加动态行
$('#addRow').on('click', () => {
$('#list_for_am').append('<tr>' +
'<td colspan="2"> ' +
'<input type="text" placeholder="Enter Name" class="form-control" name="worker[]">' +
'</td>' +
'</tr>'
);
});
并从控制器验证我使用的数组元素之一是否存在空值
$request->validate([
'schedule_date' => [
'required',
Rule::unique('schedules')->where(function ($query) use($data) {
$query
->where('schedule_date', $data['schedule_date'])
->where('schedule_time', $data['schedule_time']);
})
],
'worker.*' => 'required'
]);
现在,如果有错误,表中的行将仅重置为一行,而不是用户先前添加的总行数。如何保留行数并显示错误发生的文本框?
答案 0 :(得分:1)
尝试一下:
@foreach( old('worker') as $item )
<td colspan="2">
<input type="text" placeholder="Enter Name" class="form-control" name="worker[]" value="{{ old('worker')[$loop->index] }}">
</td>
@endforeach