更改 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
方法。
当密码不符合要求时,如何更改验证摘要中的默认消息。当前显示的消息是
"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
方法。