[PHP][Laravel] JSON内の値(複数行)をバリデーションする
バージョン
Laravel 5.8
概要
JSONで渡された複数行のデータに対してバリデーションする。
例として以下のJSONに対して、バリデーションを実施する。
◾️JSON
[{"id": 1, "val": "abcde"}, {"id": 2, "val": "あいうえお"}, {"id": 3, "val": ""}]
◾️バリデーションルール
- データは10項目まで
- valは必須で100文字以内
コード
◾️HogeController
public function HogeInput(Request $request) { // JSONをデコード $validation_data = json_decode($params['json_val'], true); // バリデーション // データ数の検証 $rules = [ 'remarks' => 'array|max:10' ]; $validator = Validator::make(['remarks' => $validation_data], $rules); if ($validator->fails()) { return response()->error($validator->errors()->all()); } // 各行の検証 foreach ($validation_data as $key => $value) { $rules = [ 'val' => 'required|max:100' ]; $validator = Validator::make($value, $rules); if ($validator->fails()) { return response()->error($validator->errors()->all()); } } }
- 作者:津耶乃, 掌田
- 発売日: 2019/12/27
- メディア: 単行本