Аннотации данных запускаются до того, как ваше действие будет вызвано. Затем, независимо от того, была ли проверка успешной или нет, действие все еще вызывается. Если DA обнаружил недействительные данные, ваш ModelState будет недействительным.
Оказавшись здесь, вы все равно можете выполнить любую проверку для своих бизнес-правил, которую вы обычно делаете без аннотации данных, если хотите. В своем действии вы можете добавить ошибки в ModelState, даже если проверка аннотации данных прошла успешно.
В этом случае вы добавляете свои ошибки с ModelState.addError, и эти ошибки добавляются к любой ошибке, предоставленной DA. Поэтому, по вашему мнению, не имеет значения, откуда возникла ошибка.
Или, если ваши правила общие, вы можете написать свои собственные теги аннотаций. Объект аннотации данных распространяется вместе с его источником, поэтому у вас есть полный контроль над ним.