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注释验证登录属性?

+0

你的意思是像[Pattern](http://docs.oracle.com/javaee/6/api/javax/validation/constraints/Pattern.html)? – bracco23

是的,它可以通过合成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验证文档。