普通に個別に配列対応
validation関連でいろいろな表現があることがわかったので、整理していきます。
通常の配列の場合
<input name="array[name]" />
<input name="array[title]" />
配列の場合、どう書いていくのかというと、.
で区切ります
こんな具合に区切ります
'array.name'
'array.title'
実際にvalidationのruleを作ると、下記になります。
validaton
public function rules()
{
return [
'array.name' => 'required|string',
'array.title' => 'required|string',
];
}
すべてに対して対応する場合
validaton
public function rules()
{
return [
'array.*' => 'required|string',
];
}
でまとめることができます。
しかしながら、これだと一つ通過すると、他も通ってしまうようです。
(間違ってたら、教えてください)
さらに階層を深めて実施する場合
validaton
public function rules()
{
return [
'array.*.name' => 'required|string',
];
}
3階層目のnameに対して、共通のvalidationを実施することができます。