Laravel 数组验证无效

Laravel validation for Array not working

我有以下输入字段的命名约定。

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 所说,验证不应覆盖任何地方。

你应该能够像这样实现你正在寻找的东西:

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="">

...等等