user1740381
user1740381

Reputation: 2199

Issue with username validation message in asp.net identity

I am using new membership system asp.net identity in my project. I want to use Email address as an Username and yes i have looked these questions already:

Configure Microsoft.AspNet.Identity to allow email address as username

ASP.NET identity use email instead of user name

and i know how to use email as a Username.But i have another issue, the Validation error message:

Name [email protected] is already taken.

this message comes when user try to register with existing email address.So instead of this error message i want to give error message some like:

User with the given email address already exist.

So how can i do this in Asp.Net identity ??

Upvotes: 8

Views: 7052

Answers (2)

Hao Kung
Hao Kung

Reputation: 28200

Another option would be to plug in your own UserValidator that only does the user name/email check, if it doesn't fail, it delegates to the default UserValidator, otherwise it returns an IdentityResult with the error message you want.

Upvotes: 2

jd4u
jd4u

Reputation: 5807

Its just replacing the message. Search for the "Name {0} is already taken." and replace it with your message "User with the given email address already exists".

You can do it in AddError method. This is an example, you shall create application specific working code.

private void AddErrors(IdentityResult result)
{
    foreach (var error in result.Errors)
    {
        if (error.EndsWith("is already taken."))
            ModelState.AddModelError("", "User with the given email address already exists");
        else ModelState.AddModelError("", error);
    }
}

Upvotes: 11

Related Questions