Неправильно, валидаторы и десериализаторы пусть будут в конверторах, например для контроллеров
Сами ДТО просто плоские глупые объекты. разве что маппинг и констрейнты повесить на поля (насколько это позволяет язык), а-ля через аннотации в PHP/Java
У меня так ДТО выглядит для JSON (язык PHP)
Использование:
Если фреймворк/язык не позволяет это делать снаружи от контроллера, то можно внутри сделать похожий маппинг, передав ответственность похожей абстракции для конвертации