我在MVC4中使用数据注释进行模型验证,目前我正在使用StringLengthAttribute,但是我不想指定最大值(当前设置为50),但是要指定最小字符串长度值。
有没有办法只指定最小长度?也许我可以使用另一个属性?
我当前的代码是:
- [required]
- [DataType(DataType.Password)]
- [Display(Name = "Confirm New Password")]
- [StringLength(50,MinimumLength = 7)]
- [CompareAttribute("NewPassword",ErrorMessage = "The New Password and Confirm New Password fields did not match.")]
- public string ConfirmNewPassword { get; set; }
任何帮助深表感谢。
解决方法
Is there a way to only specify only a minimum length? Perhaps another
attribute i can use?
使用标准数据注释,否。您必须指定MaximumLength。只有其他参数是可选的。
在这种情况下,我建议这样做:
- [StringLength(int.MaxValue,MinimumLength = 7)]
您还可以使用像这样的正则表达式(正则表达式)属性:
- [RegularExpression(@"^(?:.*[a-z]){7,}$",ErrorMessage = "String length must be greater than or equal 7 characters.")]
更多关于这里:Password Strength Validation with Regular Expressions