1
在我的MVC 4应用程序中,我需要验证帐户注册屏幕;密码至少包含1位数,1位大写字母& 1小写字母。我想有模型类属性类似MVC 4中的多个RegularExpression属性4
[Display(Name = "Register_Password", ResourceType = typeof(VirtuOxAdmin))]
[Required(ErrorMessageResourceType = typeof(VirtuOxAdmin), ErrorMessageResourceName = "Register_PasswordRequired")]
[MinLength(5, ErrorMessageResourceType = typeof(VirtuOxAdmin), ErrorMessageResourceName = "Admin_CreateCustomer_PasswordMinLength")]
[MaxLength(32, ErrorMessageResourceType = typeof(VirtuOxAdmin), ErrorMessageResourceName = "Admin_CreateCustomer_PasswordMaxLength")]
[RegularExpression(@"\d", ErrorMessageResourceType = typeof(VirtuOxAdmin), ErrorMessageResourceName = "Admin_CreateCustomer_AtleastOneDigit")]
[RegularExpression("[A-Z]+", ErrorMessageResourceType = typeof(VirtuOxAdmin), ErrorMessageResourceName = "Admin_CreateCustomer_AtleastOneUChar")]
[RegularExpression("[a-z]+", ErrorMessageResourceType = typeof(VirtuOxAdmin), ErrorMessageResourceName = "Admin_CreateCustomer_AtleastOneLChar")]
public string Password { set; get; }
但我得到的错误错误重复“正则表达式”属性
如何为密码验证码?
感谢您的回复。但通过这样做,我无法显示基于哪个验证失败的错误消息。 – Shaggy
正确,您将不得不使用更通用的消息,如“密码必须包含小写字母,大写字母和数字”。 – acfrancis
如果这还不够好,您需要创建一个自定义验证器并为其编写代码。然后,您可以分别测试每个正则表达式并返回相应的消息。根据我的经验,通常没有必要。 – acfrancis