Multiple Regex @Pattern's for 1 Field?

前端 未结 4 508
天涯浪人
天涯浪人 2020-12-30 03:15

I was attempted to apply multiple @Pattern annotations to a single field:

@Pattern(regexp = \"(?=.*[0-9])\", message = \"Password must contain one digit.\")
         


        
4条回答
  •  -上瘾入骨i
    2020-12-30 03:27

    Gunnar's solution won't work for me... '.+' in his regexp seem to be missing. However, i'm using Michal's patternList and it works like a charm for me. (Play 2.3.x / Ebean-ORM)

    @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 upper letter."),
            @Pattern(regexp = "(?=.*[!@#$%^&*+=?-_()/\"\\.,<>~`;:]).+", message ="Password must contain one special character."),
            @Pattern(regexp = "(?=\\S+$).+", message = "Password must contain no whitespace.")
    })
    @Constraints.Required()
    public String password1;
    

提交回复
热议问题