мы перегоняем массив в ДТО и при этом у нас невалидный массив, например некоторые поля не проставлены, а в конструкторе ДТО они обязательны.
По хорошему кинуть ексепшон со всеми ошибками по всем отпавшим required полям если их больше 1, но сериализатор отпадет на первом же поле и нужно будет из него брать ошибку и она будет только для одного поля.
Соответственно если это приемка данных извне, то нужно валидировать перед маппингом на ДТО для обеспечения нормального создания ДТО, а потом ДТО уже влидировать по правилам, которые требует юз кейс.
В сухом остатке получается два слоя валидации.
Шо скажемс?
Несколько слоев валидации - это норм. Другое дело на сколько внутренняя валидация должна быть жесткой и дублирующей. И нужно ли оно вообще. Просто по хорошему БЛ должна быть зашита именно в самих бизнес объектах, а не где то в валидаторе и его правилах.
Если же говорить о ваших же мыслях, что точка правды должна быть одна. А если она будет в валидаторе - то их будет много, так как методов может быть несколько которые работают с опредленными объектами
Обсуждают сегодня