Приветствую, друзья!
Подскажите, пожалуйста, где вы обычно валидируете входящий request в случае, когда request полностью мапится на DTO внутри контроллера.
Вижу два варианта:
1) внутри контроллера и валидировать request
2) валидировать внутри DTO
3) (как обычно делал в Laravel) расширить стандартный Request собственным. В нем проверять входящие данные и, если что то не так, бросать исключение
Первый вариант хорош тем, что все "на своем месте" и DTO не знает лишней информации.
Но второй вариант хорош тем, что если DTO начнем наполнять во втором (пятом, десятом) контроллере, то не придется.
Третий бы реализовал, но как я понял, в Symfony такой подход не принят.