Chr*_*ris 15 regex java-ee bean-validation
我试图将多个@Pattern注释应用于单个字段:
@Pattern(regexp = "(?=.*[0-9])", message = "Password must contain one digit.")
@Pattern(regexp = "(?=.*[a-z])", message = "Password must contain one lowercase letter.")
@Pattern(regexp = "(?=.*[A-Z])", message = "Password must contain one uppercase letter.")
@Pattern(regexp = "(?=\S+$)", message = "Password must contain no whitespace.")
private String password;
Run Code Online (Sandbox Code Playgroud)
但是,我不能这样做.我想要在密码字段上违反正则表达式约束的单个邮件.这可能吗?
我的替代方案是使用JSF 2.0 f:validatorRegex标记.
Gun*_*nar 31
您可以使用以下内部@List注释@Pattern:
@Pattern.List({
@Pattern(regexp = "(?=.*[0-9])", message = "Password must contain one digit."),
@Pattern(regexp = "(?=.*[a-z])", message = "Password must contain one lowercase letter."),
@Pattern(regexp = "(?=.*[A-Z])", message = "Password must contain one uppercase letter."),
@Pattern(regexp = "(?=\\S+$)", message = "Password must contain no whitespace.")
})
private String password;
Run Code Online (Sandbox Code Playgroud)