при передачи лишних значений в запросе?
Например:
$rules = ['foo' => ['array'], 'foo.bar' => ['string', 'nullable'];
// payload: {"foo": {"bar": '123', 'extra_field' => 'sql injection'}}
$request->validated() // foo['bar' => '123', 'extra_field' => 'sql injection'],
Думаю большинство использует рекомендованный DTO ?
Или же на уровне валидатора есть какой нибудь функционал. Не нашел в исходниках и доке.
А зачем что-то делать с «мусорными» параметрами? Ну есть и есть, они ведь не обрабатываются никак.
Можно указать, какие ключи разрешены в массиве и ларавел вернёт только их в $request->validated()
Это зависит от того как ты далее используешь и обрабатываешь. Есть практика к сожалению, где не совсем безопасное создание записей в бд идет
Спасибо, можно подробнее ?
Можно почитать доку
Не бывает такого, никто не работает с реквестом напрямую, все работают с провалидированными данными.
Можете конкретнее подсказать раздел или же название опционального признака такого ? Обычно с доки начинаю всегда, прежде чем писать здесь, но вот не могу найти.
Дай подумать... Может, надо правило array смотреть? Да не, бред же...
Может, не похоже на бред, но параметра не нашел
я вижу в проекте и такой вариант валидации внутри массива 'questions.*.answers' => 'required|array'. В доке почему-то явно такой вариант быстро найти не смог. Его убрали в какой-то версии?
На старье сидишь?
Laravel Framework 8.83.7 считаете старой ?
Ну тогда плохо искал
Обсуждают сегодня