我刚开始搞乱使用regularrexpressions,但基本上这个(我在网上找到btw)应该要求密码在8到10之间,但每当我试一试并输入正确的长度时,它就是仍显示错误消息。有任何想法吗? 我还需要在验证中包含1个小写,1个大写和1个数字。
public class password : IValidatableObject
{
[Required]
[RegularExpression("(?=^.{8,10}$)", ErrorMessage = "Password is invalid.")]
public string ConfirmPWD { get; set; }
[Required(ErrorMessage="Confirm Password field is required.")]
public string ConfirmPWD { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (ConfirmPWD != ConfirmPWD )
yield return new ValidationResult("Not identical.");
}
}
答案 0 :(得分:1)
你可能想要这样的东西:
[RegularExpression(@"^.{8,10}$",
ErrorMessage = "Must be between 8 and 10 characters.")]
答案 1 :(得分:0)
尝试".{8,10}"
。此外,更具体的错误消息可能对您的用户有所帮助。
编辑:想一想为什么不只是使用StringLengthAttribute
来...
[StringLength(10, MinLength = 8, ErrorMessage = "Password must be between 8 and 10 characters")]
然后您可以使用正则表达式来处理更具体的规则,例如所需的复杂性。