もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

Laravelの配列のvalidation定義にちょっとハマった

はじめに

Laravelのリクエストで配列が送られてくる場合のvalidationを書いてたときに、意外とハマったのでめちゃめちゃ簡単ですが残しときます。

本題

1. 空でも良いから配列のパラメータとして送られてほしい

'items' => 'present|array',

2. 配列のパラメータで必ず何かが入っててほしい

'items' => 'required|array',

3. 配列のパラメータで要素数が3つ入っててほしい

'items' => 'required|array|size:3',

4. 配列のパラメータで要素数が3つ以上入っててほしい

'items' => 'required|array|min:3',

5. 配列のパラメータで要素数が2つ〜4つ入っててほしい

'items' => 'required|array|between:2,4',

6. 配列のパラメータで指定の要素が入っててほしい

'items'   => 'required|array',
'items.*' => Rule::in(['item1', 'item2', 'item3', 'item4', 'item5']),

7. 配列のパラメータで空配列もしくは、指定の要素が入っててほしい

'items'   => 'present|array',
'items.*' => Rule::in(['item1', 'item2', 'item3', 'item4', 'item5']),

終わりに

自分がハマってたのは、7番でした。

配列で決められたものを送られてほしいけど、空配列は許すっていうのを調べてました。

簡単ですが現場からは以上です。