У меня есть запрос, в котором я передаю массив объектов JSON. Имеет следующую структуру
[ {path: 'string', class: 'string'} ]
Насколько я понимаю, нет простого способа проверить этот массив, поэтому я попробовал следующий
$validatedData = $request->validated();
$result = ['data' => []];
foreach ($validatedData['items'] as $item) {
$result['data'][] = json_decode($item);
}
Validator::make($result, [
'data.*.path' => 'required|url',
'data.*.class' => 'required|string'
])->validate();
Однако это приводит к
array(1) {
["data"]=>
array(2) {
[0]=>
object(stdClass)#813 (2) {
["link"]=>
NULL
["class"]=>
NULL
}
[1]=>
object(stdClass)#814 (2) {
["link"]=>
NULL
["class"]=>
NULL
}
}
}
Каким-то образом валидатор обрезает данные. Когда я пытаюсь без Validator::make
части, она работает нормально, однако мне нужно контролировать то, что я получаю.