javax验证登录(电子邮件或电话)
问题描述:
class SingIn {
private String login;
private String password;
public SingIn(String login, String password) {
this.login = login;
this.password = password;
}
public String getLogin() {
return login;
}
public String getPassword() {
return password;
}
}
登录属性可以是电子邮件(模式“。+ @。+”)或电话号码(模式“\ + \ d +”)。javax验证登录(电子邮件或电话)
是否有可能以某种方式使用javax注释验证登录属性?
答
是的,它可以通过合成2个@Pattern
注释与逻辑OR
:
@ConstraintComposition(OR)
@Pattern(regexp = "[email protected]+")
@Pattern(regexp = "\+\d+")
@ReportAsSingleViolation
@Target({ METHOD, FIELD })
@Retention(RUNTIME)
@Constraint(validatedBy = { })
public @interface EmailOrPhone {
又见话题Boolean composition of constraints的Hibernate验证文档。
你的意思是像[Pattern](http://docs.oracle.com/javaee/6/api/javax/validation/constraints/Pattern.html)? – bracco23