Laravel - Глубокая проверка массивов, проверка ключей массивов, предотвращение нежелательных полей - PullRequest
0 голосов

Где есть несколько проблем с проверкой запроса в 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», которые не имеют валидацииправила, прошедшие проверку и попадающие в проверенные поля.

Как я могу проверить размер массива и ключи массива без проверки всего внутреннего массива по этому правилу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...