更改 MVC 中的验证摘要文本以进行密码验证

Change Validation Summary Text in MVC for a password validation

当密码不符合要求时,如何更改验证摘要中的默认消息。当前显示的消息是

"Passwords must have at least one digit ('0'-'9'). Passwords must have at least one uppercase ('A'-'Z')."

我想将该文本更改为其他内容。

我想通了..我希望这是正确的方法。但这是我的代码。我注释掉一行并替换为它下面的一行。

private void AddErrors(IdentityResult result)
        {
            foreach (var error in result.Errors)
            {
                //ModelState.AddModelError("", error);
                ModelState.AddModelError("", "PASSWORDS MUST BE AT LEAST 6 CHARACTERS LONG, WITH AT LEAST ONE NUMBER, AND ONE NON LETTER OR DIGIT SUCH AS %, #, @, !, AND *. AN EXAMPLE: PASSWORD1$.");
            }

您也可以使用DataAnnotations

在您的示例中,您可以使用:

// ~YourModelFile.cs

[RegularExpression(@"^[A-Z0-9]{6,}$", ErrorMessage = "Password must be at least 6 characters long")]
public string Password { get; set; }

有趣的一点是 ErrorMessage 可以放在一个 Resources 文件中,所以你可以用多种语言显示它。
另外,您不必再编写自定义 AddError 方法。