Personalmente tengo mi validación 2 lugares usando DataAnnotations. Mi modelo no se pasa completamente a mi vista. Tengo modelos separados para mis vistas y traduzco los datos del modelo de vista al modelo. De esta manera, puedo poner lo que quiera en mi modelo de vista y dejar de lado las piezas con las que no quiero tratar.
Mi razonamiento, sin embargo, es que tengo una aplicación de Windows y una aplicación web que usan el mismo modelo. De esta forma, el mismo conjunto de reglas de validación rige el Modelo para todas las aplicaciones, y mi modelo de vista puede tener reglas ligeramente diferentes si es necesario. Por supuesto, esto crea una "duplicación de lógica", bueno, lógica de validación.
De esta manera, no tengo que reconstruir los datos que no se usaron en la página cada vez que regreso al servidor o los coloco en campos ocultos e inflando el tamaño de mis páginas.
gracias por el comentario, entonces ¿usaré las anotaciones de datos para el modelo y el modelo de vista? (atributos) – Martin