Laravel проверка json поле типа - PullRequest
0 голосов
/ 23 марта 2020

У меня есть API, который принимает JSON в качестве полезной нагрузки. Когда правило проверки (json) работает с size_fit, возвращается Подходящий размер должен быть допустимой JSON string error. Ниже указана полезная нагрузка JSON, которую я отправляю. Может ли кто-нибудь указать на проблему с кодом или полезной нагрузкой JSON, которую я отправляю?

    [
        {
            "code": "C01",
            "description": "Sample Company - C01",
            "size_fit": [{"S":"20", "M":"30", "L":"20", "XL":"100"}]
        },
        {
            "code": "C02",
            "description": "Sample Company - C02",
            "size_fit": [{"S":"50", "M":"60", "L":"70", "XL":"120"}]
        }
    ]

Ниже указана PHP (Laravel) фрагмент кода:

foreach ($request->all() as $key => $value) {
    $validator = Validator::make(
        $value,
        [
            'code' => 'required|unique:styles|max:20',
            'description' => 'required|max:80',
            'size_fit' => 'json',
        ]
    );

    if ($validator->fails()) {
        return response()->json(
            [
                'status' => 'error',
                'message' => $validator->errors(),
                'source' => $value
            ],
            400
        );
    }

    $style = Style::create([
        'code' => $value['code'],
        'description' => $value['description'],
        'size_fit' => $value['size_fit'],
    ]);
}
...