169 похожих чатов

Добра, поделитесь практикой, кто как валидирует массивы в правилах, именно

при передачи лишних значений в запросе?
Например:
$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 ?
Или же на уровне валидатора есть какой нибудь функционал. Не нашел в исходниках и доке.

13 ответов

14 просмотров

А зачем что-то делать с «мусорными» параметрами? Ну есть и есть, они ведь не обрабатываются никак.

Можно указать, какие ключи разрешены в массиве и ларавел вернёт только их в $request->validated()

Den 🐘-X Автор вопроса
Andrey Kolesnikov
А зачем что-то делать с «мусорными» параметрами? Н...

Это зависит от того как ты далее используешь и обрабатываешь. Есть практика к сожалению, где не совсем безопасное создание записей в бд идет

Den 🐘-X Автор вопроса
Den 🐘 X
Это зависит от того как ты далее используешь и обр...

Не бывает такого, никто не работает с реквестом напрямую, все работают с провалидированными данными.

Den 🐘-X Автор вопроса
Артём
Можно почитать доку

Можете конкретнее подсказать раздел или же название опционального признака такого ? Обычно с доки начинаю всегда, прежде чем писать здесь, но вот не могу найти.

Den 🐘 X
Можете конкретнее подсказать раздел или же названи...

Дай подумать... Может, надо правило array смотреть? Да не, бред же...

Den 🐘-X Автор вопроса
Артём
Дай подумать... Может, надо правило array смотреть...

Может, не похоже на бред, но параметра не нашел

Артём
Дай подумать... Может, надо правило array смотреть...

я вижу в проекте и такой вариант валидации внутри массива 'questions.*.answers' => 'required|array'. В доке почему-то явно такой вариант быстро найти не смог. Его убрали в какой-то версии?

Den 🐘-X Автор вопроса
Артём
На старье сидишь?

Laravel Framework 8.83.7 считаете старой ?

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Господа всем привет. Для того чтобы страница индексировалась с запросом под каждый город. Это нужно делать отдельные страницы для каждого города, или есть варианты по лучше?
Владимир
8
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
Да блин, на тестах всё отлично было, теперь застрял на запуске. Как только не закавычивал, уже даже догуглился до того, чтобы string.format добавить, и на выводе получил строк...
Заха́р
2
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Карта сайта