У меня лично есть подтверждение 2 места с использованием DataAnnotations. Моя модель не дошла до моего взгляда в полном объеме. У меня есть отдельные модели для моих видов и я перевожу данные из модели видов в модель. Таким образом, я могу поместить все, что захочу, в свою модель представления и пропустить фрагменты, с которыми я не хочу иметь дело.
Однако я считаю, что у меня есть приложение для Windows и веб-приложение, использующее одну и ту же модель. Таким образом, один и тот же набор правил проверки управляет моделью для всех приложений, и моя модель представления может иметь немного другие правила, если это необходимо. Конечно, это создает «дублирование логики» - ну, логика проверки.
Таким образом, мне не нужно перестраивать данные, которые не использовались на странице, каждый раз обратно на сервер или помещать их в скрытые поля и увеличивать размер моих страниц.