Using MVC Core with ASP.NET Identity I would like to change the defaults error messages of ValidationSummary that arrived from Register action. Any advice will be much appreciated.
Asked
Active
Viewed 4,605 times
8
-
You can change this messages from model class – Vipul Aug 16 '16 at 05:55
-
You should be able to change these Error Messages in the AccountViewModel.cs with the Property `ErrorMessage = "..."` in a DataAnnotation. – maracuja-juice Aug 16 '16 at 06:51
2 Answers
17
You should override methods of IdentityErrorDescriber to change identity error messages.
public class YourIdentityErrorDescriber : IdentityErrorDescriber
{
public override IdentityError PasswordRequiresUpper()
{
return new IdentityError
{
Code = nameof(PasswordRequiresUpper),
Description = "<your error message>"
};
}
//... other methods
}
In Startup.cs set IdentityErrorDescriber
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddErrorDescriber<YourIdentityErrorDescriber>();
}
The answer is from https://stackoverflow.com/a/38199890/5426333
Adrian Thompson Phillips
- 6,573
- 6
- 35
- 63
adem caglin
- 20,084
- 10
- 51
- 72
-3
You can use DataAnnotations in your RegisterViewModel class. In fact if you scaffold your application with authentication, you will get something like this:
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
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; }
Obviously, you can change ErrorMessage to anything you want it to be!
Felix
- 7,790
- 10
- 53
- 82