如何從viewmodel訪問PasswordValidator屬性來裝飾輸入密碼驗證?在數據註釋錯誤信息中訪問PasswordValidator
例如,這是在IdentityConfig.cs /創建
// Configure validation logic for passwords
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = 7,
RequireNonLetterOrDigit = false,
RequireDigit = true,
RequireLowercase = false,
RequireUppercase = false,
};
在AccountViewModels.cs
然後
public class RegisterViewModel
{
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { 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; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
屬性[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 7)]
防止被提交,直到輸入的密碼的形式是正確的長度。如果我刪除它,表單可以發佈,但由於PassordValidator
會產生錯誤,所以我認爲最好擁有該屬性,以便在正確之前不會發布任何內容。
如何訪問RegisterViewModel中的PasswordValidator屬性?
例如像
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = passwordValidator.RequiredLength)]
添加一個'[RegularExpression]'屬性,該屬性將所有要求考慮在內 –