我正在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)]
您也可以使用Regex(正则表达式)属性,如下所示:
[RegularExpression(@"^(?:.*[a-z]){7,}$", ErrorMessage = "String length must be greater than or equal 7 characters.")]
此处的更多信息:Password Strength Validation with Regular Expressions
关于asp.net-mvc - DataAnnotations StringLength属性MVC-没有最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11404486/