Допустим у нас модель и в ней 5 полей. При валидации оказывается, что во всех 5 полях проблема.
Если делать на исключениях, то все свалится на валидации первого поля. Так и будет 5 раз править по 1 полю.
Либо отвалидировали. Отдали 5 сообщений где и что плохо.
Пользователь пачкой исправил все 5 полей и в 1 запрос отправил на бэк.
Исключение одно, которое кинул валидатор, а уж одно он поле отработал или несколько - его проблема... Или еще вариант, у меня где-то был... сервис собирает исклюения ValidationException интерфейса, хранит их, и после отработки всей логики кидат SummaryValidationException