Дичь и ДГМ. И валидация данных запроса, и возврат ошибок валидации это прямая задача хендлера. Есть даже симфонический валидатор, чтобы все получилось лаконично
Еще видел прикольную наркоманию под каждый DTORequest свой ParamConverter. Довольно гибко, но кода тьма. Плюс выходит все ParamConverter в контейнере...
Кстати, тема с одним резолвером это как раз как по ссылке? тут просто момент с тем, что упадет тайпхинте. Или делать сложный fromRequest метод с учетом типов
Уровней валидации несколько. Первый уровень - тупо запрос валидируем на его консистентность. Второй - уже внутри хэндлеров, там уже VO через конструкторы, или через всякие запросы в БД. Можно конечно и через валидатор и сущности.
Так ты определись с терминами, прежде чем общаться, а то у тебя все – хэндлер. Какой хэндлер? Который выполняет конкретное действие (symfony/messenger) или который стоит прям после запроса (контроллер)?