FormRequestでのバリデーションについて
arrayで渡ってきたリクエストデータについてどうやってバリデーションを実施するか、ドキュメントみてもわからず悩んでましたが、結果、ループで回してそれぞれ実施しました。
FormRequest
public function rules()
{
$rules = [
'datas' => 'required|min:1|array',
];
// 配列
$datas = $this->request->get('datas');
foreach ($datas as $index => $value) {
$rules["datas.$index.id"] = 'required|integer|exists:data_tables,id';
$rules["datas.$index.order"] = 'required|integer|min:0|max:9999999999';
}
return $rules;
}
ただ、こうするとエラーメッセージが index にモロ影響を受けてしまいます。。
The datas.0.id field is required.
The datas.1.id field is required.
indexをうまくエラーメッセージにハンドリングするのを模索中です。