В настоящее время я использую DataAnnotations для проверки моего приложения MVC 2. Однако я столкнулся с небольшой проблемой.
В настоящее время у меня есть объект типа User, который имеет ряд свойств. Все что требуется.
public class User
{
[Required(ErrorMessage = "Username is required")]
public string Username { get; set; }
[Required(ErrorMessage = "Password is required")]
public string Password { get; set; }
[Required(ErrorMessage = "Email is required")]
public string Email { get; set; }
[Required(ErrorMessage = "First name is required")]
public string Firstname { get; set; }
[Required(ErrorMessage = "Last name is required")]
public string Lastname { get; set; }
}
При регистрации все они отображаются с помощью связывателя моделей, и все отлично работает. Однако на странице «Изменить мои данные» могут быть обновлены только имя, фамилия и адрес электронной почты.
Всякий раз, когда просмотр сообщений назад и привязка модели применяются, я получаю предупреждение Имя пользователя / пароль является обязательным полем. Хотя это и не требуется на данный момент. Я подумал о двух способах обойти это, ни один из которых я не считаю подходящим (но, возможно, ошибочным)
1: создание пользовательской модели представления. Это будет работать нормально, но аннотации данных необходимо будет применить к этой модели представления, что означает проверку дубликатов на модели и объекте пользователя.
2: Включить все поля в представление renderd и опубликовать их обратно. Это создает угрозу безопасности, выглядит очень грязно и плохо подходит для сложных моделей.
Кто-нибудь может порекомендовать лучшую практику для этой ситуации?