Как использовать ErrorMessage в свойствах и при этом сохранить с Entity Framework без него - PullRequest
0 голосов
/ 01 октября 2019

У меня есть класс модели пользователя, который имеет RepeatedPassword, это свойство не должно сохраняться в базе данных, оно просто вводится в Модель проверки с использованием ASP.NET MVC.

Я поместил аннотацию данных [NotMapped] в это свойство, но все же при попытке сохранить я получил исключение, что это свойство не должно быть пустым.

[NotMapped]
[Required(ErrorMessage = "Passwords don't Match")]
public string RepeatedPassword { get; set; }

Я даже пытался добавить это в моем контексте:

modelBuilder.Entity<User>().Ignore(a => a.RepeatedPassword);

1 Ответ

0 голосов
/ 01 октября 2019

Вы можете использовать атрибут Сравнить , чтобы убедиться, что RepeatPassword совпадает с Password. Поскольку Password требуется, RepeatPassword будет требоваться по определению, поэтому вы можете удалить атрибут [Required] из RepeatPassword.

[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
[StringLength(Constants.MaxPasswordLength, ErrorMessage = "{0} must be  between {2} and {1} characters long", MinimumLength = Constants.MinPasswordLength)]
public string Password { get; set; }

[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match")]
public string ConfirmPassword { get; set; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...