0
2

More than 3 years have passed since last update.

Laravelのvalidationの表現を広げる【配列、階層】

Posted at

普通に個別に配列対応

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を実施することができます。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2