2017-08-03 100 views
-2
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

回答

1

是的,它可以通過合成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驗證文檔。