我遇到了一些bean验证问题。JSF验证器订购
基本上我有一个表单,在这里互联网用户可以创建一个新的配置文件,他们必须输入他们的用户名。
我想关于验证用户名:
- 长度
- 模式
- 如果用户名已经存在
对于弹头3我写我自己的自定义验证@UserExists 。问题是如果前两个验证程序中的任何一个验证程序都失败,我不希望验证程序运行。
我发现在我的UserExists验证器上使用@GroupSequence会执行与序列有关的技巧,但如果其他验证器之一报告输入无效,JSF仍会调用验证器。我能否以某种方式检查其他验证程序是否已失败?
这是我想检查了物业:
@Size(min = 3, max = 20)
@Pattern(regexp = "[A-Za-z]+[A-Za-z0-9]*")
@UserExists(message = "User already exists")
private String username;
自定义验证具有以下属性:
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = UserExistsValidator.class)
@GroupSequence({Size.class, Pattern.class})
public @interface UserExists
谢谢。我已经在参考指南,但显然不够彻底。 – foens