Где есть несколько проблем с проверкой запроса в laravel со значением массива.
У меня сложный запрос с глубоким значением массива, как это
[
'promo'=> [
'coupons' => [...]
'products' => [
1 => [
'price' => 100,
'name' => 'product',
'img' => [...]
],
...
]
]
]
Мне нужно проверить ключи массива для целого числазначение, у laravel нет собственного решения для этого?но все в порядке, здесь есть простое решение для stackoverflow
\Validator::extend('integer_keys', function($attribute, $value, $parameters, $validator) {
return is_array($value) && count(array_filter(array_keys($value), 'is_string')) === 0;
});
Я могу добавлять продукты до 8 элементов динамически, проверка Laravel, как это, работа Wine
'promo.products.*.price => required|numeric|max:1000',
'promo.products.*.name=> required|string|max:100',
...
Но до этого япопробуйте проверить массив массива, как этот
promo.product => array|max:8
Он также работает Wine, но имеет нежелательное поведение, он проверяет весь внутренний массив и все поля без правил валидации, таких как «product.1.id», которые не имеют валидацииправила, прошедшие проверку и попадающие в проверенные поля.
Как я могу проверить размер массива и ключи массива без проверки всего внутреннего массива по этому правилу?