Asp.net mvc 5 MVC 5标识和错误消息
我正在使用Identity 2.0,我想知道当我尝试注册一个已经注册的用户时,如何自定义错误消息。 以下是我收到的信息:Asp.net mvc 5 MVC 5标识和错误消息,asp.net-mvc-5,asp.net-identity,Asp.net Mvc 5,Asp.net Identity,我正在使用Identity 2.0,我想知道当我尝试注册一个已经注册的用户时,如何自定义错误消息。 以下是我收到的信息: 名称xxxxx已被采用 Tks.我也遇到了类似的问题,并帮助了我 把这些直接应用到你的问题上,你可以用两种方法来解决。这是一种解决此特定问题的快速方法,也是一种更复杂的方法,允许您在将来修改任何其他身份错误 1.)捷径: -在Controllers/AccountController.cs下修改AddErrors(IdentityResult结果)方法。更改此项:
- 名称xxxxx已被采用
private void AddErrors(IdentityResult result)
{
foreach (var error in result.Errors)
{
ModelState.AddModelError("", error);
}
}
为此:
同样,这个代码是我提到的问题中提出的答案。我自己没用过这个,但看起来应该有用
private void AddErrors(IdentityResult result)
{
foreach (var error in result.Errors)
{
if (error.StartsWith("Name"))
{
var NameToEmail= Regex.Replace(error,"Name","Email");
ModelState.AddModelError("", NameToEmail);
}
else
{
ModelState.AddModelError("", error);
}
}
}
我曾经尝试过这两个技巧,但都没有成功,但是,现在我尝试了另一种方法来实现第二个,效果很好。我刚刚创建了一个新类(CustomUserValidator),在AccountController上的注册操作中,我设置了UserManager.UserValidator=new CustomUserValidator(UserManager);在CreateAsync调用之前。