MVC 5身份和错误消息

Ona*_*gac 2 asp.net-mvc-5 asp.net-identity

我正在使用Identity 2.0,我想知道当我尝试注册已注册的用户时如何自定义错误消息.以下信息是我收到的信息:

  • 名称xxxxx已被占用.

韩国社交协会.

Jas*_*son 7

我有类似的问题,这个问题这个博客对我有所帮助.

将这些直接应用于您的问题,您可以通过两种方式实现.解决此特定问题的快速方法,以及允许您在将来修改任何其他Identity错误的更具参与性的方法.

1.)快速方法: - 在Controllers/AccountController.cs下修改AddErrors(IdentityResult结果)方法.改变这个:

    private void AddErrors(IdentityResult result)
    {
        foreach (var error in result.Errors)
        {
            ModelState.AddModelError("", error);
        }
    }
Run Code Online (Sandbox Code Playgroud)

对此:同样,这段代码是Marius在我引用的问题中提出的答案.我自己没有使用它,但看起来应该可以工作.

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. Brian Lachniet的博客上有一个更易于维护和可扩展的解决方案.尽管Brian的博客明确地描述了如何实现替换UserValidator方法,但Josh在同一问题中的答案是相同的.

    这是我遵循的方法,它的工作原理.作为奖励,他不断更新它,最后一次更改使其在3月28日与Identity 2.0兼容.