我正在尝试构建一个演示应用程序以获得 Asp.Net Mvc 5 开发经验。在这些日子里,我正在尝试建立一个站点设置。
我有一个名为 Settings 的模型。并且有如下属性。
public int PasswordRequiredLength { get; set; }
public bool PasswordRequireNonLetterOrDigit { get; set; }
public bool PasswordRequireDigit { get; set; }
public bool PasswordRequireLowercase { get; set; }
public bool PasswordRequireUppercase { get; set; }
public bool UseAlphaNumericCharacters {get; set; }
在 ApplicationUserManager 我做了这些修改。
// Configure validation logic for passwords
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = CacheHelper.Settings.PasswordRequiredLength > 0 ? CacheHelper.Settings.PasswordRequiredLength : 8,
RequireNonLetterOrDigit = CacheHelper.Settings.PasswordRequireNonLetterOrDigit ? true : false,
RequireDigit = CacheHelper.Settings.PasswordRequireDigit ? true : false,
RequireLowercase = CacheHelper.Settings.PasswordRequireLowercase ? true : false,
RequireUppercase = CacheHelper.Settings.PasswordRequireUppercase ? true : false
};
因此,密码验证将在运行时指定。到目前为止,一切都很好。应用程序更灵活一点。但!RegisterViewModel 怎么样。
有如下属性
[StringLength(20, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 5)]
[RegularExpression("^([a-zA-Z0-9]{5,20})$", ErrorMessage = "The {0} must contain only alphanumeric characters")]
[Display(ResourceType = typeof (Resources.Translations), Name = "Username")]
public string UserName { get; set; }
[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; }
我如何验证密码的最小值,长度?或 AlphaNumeric 字符,如果为PasswordRequireNonLetterOrDigit
假?用户名也是如此。这取决于UseAlphaNumericCharacters
谢谢你。