Но я не уверен, что это имеет смысл в контексте, так как UserMetaData семантически включает пароль.

я есть класс модели, который имеет несколько обязательных полей:

public class UserMetadata
{
   [Required(ErrorMessage = "Please enter a name.")]
   public string Name { get; set; }

   [Required(ErrorMessage = "Please enter a password.")]
   public string Password { get; set; }
}

В представлении создания, если я не даю имя и / или пароль, появляются ошибки сводки проверки. Все хорошо и хорошо. В режиме редактирования я отображаю только поле «Имя», но не поле «Пароль».

Когда я сохраняю свои изменения на странице редактирования, появляется ошибка сводной информации о том, что я должен ввести пароль.

Как я могу контролировать валидацию поля пароля, чтобы в представлении редактирования его не беспокоило? Или я подхожу к этому неправильно? Я все еще хочу, чтобы проверка поля «Имя» работала в режиме редактирования.

РЕДАКТИРОВАТЬ:

Для моего проекта MVC я использую Entity Framework. Таким образом, у меня определен класс «UserMetadata», чтобы я мог прикреплять такие вещи, как «[Обязательный]», к определенным полям класса «Пользователь» (который находится в файле EDMX).

Я должен также объяснить, что я использую модель представления, например, «UserEditViewModel», к которой прикреплено свойство «Пользователь». Итак, на мой пост:

[HttpPost]
public ActionResult Edit(UserEditViewModel inputViewModel)
{

    if(ModelState.IsValid) { inputViewModel.User blah.... }

}

Думаю, я немного поспешил при наборе этого вопроса. Любая другая недостающая информация, которую вы считаете важной, тогда, пожалуйста, напишите мне.

Приветствия. Иак.

Ответы на вопрос(2)

Ваш ответ на вопрос