对于输入字段,我具有以下命名约定。
course_details[0][d_Total_Score]
course_details[1][d_Total_Score]
course_details[2][d_Total_Score]
现在,我想使用一些规则来验证这些字段。以下是我尝试过的代码。
$validatedData = $request->validate([
'course_details.0.d_Total_Score' => 'required',
'course_details.1.d_Total_Score' => 'required',
'course_details.2.d_Total_Score' => 'required'
]);
我已引用here
但这似乎不起作用。
HTML代码:
<input placeholder="SAT score " class="form-control form-control-sm valid" id="d_Score_Sub_Category_SAT" name="course_details[0][d_Total_Score]" value="" aria-invalid="false" type="text">
已解决:如d3jn所述,验证不应覆盖任何地方。
答案 0 :(得分:2)
您应该能够实现所需的目标:
course_details.*.d_Total_Score' => 'required'
我最近写了类似的文章,我这样做是这样的:
'contacts.*.name' => 'nullable|string|max:255',
'contacts.*.email' => 'nullable|email|max:255',
'contacts.*.phone' => 'nullable|phone:US|max:255',
我的HTML看起来像这样:
<input class="form-control{{ $errors->has('contacts') ? ' is-invalid' : '' }}" id="contacts" name="contacts[0][name]" type="text" value="">
<input class="form-control{{ $errors->has('contacts') ? ' is-invalid' : '' }}" id="contacts" name="contacts[0][email]" type="text" value="">
<input class="form-control{{ $errors->has('contacts') ? ' is-invalid' : '' }}" id="contacts" name="contacts[0][phone]" type="text" value="">
<input class="form-control{{ $errors->has('contacts') ? ' is-invalid' : '' }}" id="contacts" name="contacts[1][name]" type="text" value="">
<input class="form-control{{ $errors->has('contacts') ? ' is-invalid' : '' }}" id="contacts" name="contacts[1][email]" type="text" value="">
<input class="form-control{{ $errors->has('contacts') ? ' is-invalid' : '' }}" id="contacts" name="contacts[2][name]" type="text" value="">
...等等