Неправильно, валидаторы и десериализаторы пусть будут в конверторах, например для контроллеров
Сами ДТО просто плоские глупые объекты. разве что маппинг и констрейнты повесить на поля (насколько это позволяет язык), а-ля через аннотации в PHP/Java
У меня так ДТО выглядит для JSON (язык PHP)
![6151d8c3ef483090103516.png](https://habrastorage.org/webt/61/51/d8/6151d8c3ef483090103516.png)
Использование:
Если фреймворк/язык не позволяет это делать снаружи от контроллера, то можно внутри сделать похожий маппинг, передав ответственность похожей абстракции для конвертации