はじめに
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番でした。
配列で決められたものを送られてほしいけど、空配列は許すっていうのを調べてました。
簡単ですが現場からは以上です。