ASP.NET 身份中的密码错误消息
Error Message for Password in ASP.NET Identity
我最近将我的 VS 2013 更新到 Update 4,它在 App_Start
下带有一个名为 IdentityConfig.cs
的 class 文件。在文件中,有一部分代码允许我配置密码要求:
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = 6,
RequireNonLetterOrDigit = true,
RequireDigit = true,
RequireLowercase = true,
RequireUppercase = true,
};
我将长度更改为 RequiredLength = 10
(例如),然后我通过进入 Register
来尝试创建一个新用户 运行 项目,这就是我遇到的问题我遇到了:
当我输入少于 6 个字符的密码时,它会显示一条错误消息 "Passwords must be at least 6 characters"
;
当我输入 6-9 个字符的密码时,它会显示一条错误消息 Passwords must be at least 10 characters"
。为什么会发生这种情况,我该如何解决?
首先,如果您真的发布了真实的错误消息,将会有所帮助。您只是复制并粘贴其中一个并更改了号码。真正的第一条错误信息应该是:
"The Password must be at least 6 characters long" 而不是 "Passwords must be at least 6 characters" 这是当消息不同时您正在处理不同验证的第一个线索。
如果您查看 AccountModels.cs,您将在 RegisterViewModel 中看到:
[Required]
[StringLength(
100,
ErrorMessage = "The {0} must be at least {2} characters long.",
MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
请注意,字符串长度的最小长度设置为 6。将其更改为 10。
我最近将我的 VS 2013 更新到 Update 4,它在 App_Start
下带有一个名为 IdentityConfig.cs
的 class 文件。在文件中,有一部分代码允许我配置密码要求:
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = 6,
RequireNonLetterOrDigit = true,
RequireDigit = true,
RequireLowercase = true,
RequireUppercase = true,
};
我将长度更改为 RequiredLength = 10
(例如),然后我通过进入 Register
来尝试创建一个新用户 运行 项目,这就是我遇到的问题我遇到了:
当我输入少于 6 个字符的密码时,它会显示一条错误消息 "Passwords must be at least 6 characters"
;
当我输入 6-9 个字符的密码时,它会显示一条错误消息 Passwords must be at least 10 characters"
。为什么会发生这种情况,我该如何解决?
首先,如果您真的发布了真实的错误消息,将会有所帮助。您只是复制并粘贴其中一个并更改了号码。真正的第一条错误信息应该是:
"The Password must be at least 6 characters long" 而不是 "Passwords must be at least 6 characters" 这是当消息不同时您正在处理不同验证的第一个线索。
如果您查看 AccountModels.cs,您将在 RegisterViewModel 中看到:
[Required]
[StringLength(
100,
ErrorMessage = "The {0} must be at least {2} characters long.",
MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
请注意,字符串长度的最小长度设置为 6。将其更改为 10。