BeanValidation不评估类型级别的约束

时间:2014-02-25 14:08:21

标签: bean-validation

BeanValidation适用于放置在FIELD级别的正常验证:

@Email
@Column(unique = true)
private String email;

但是,在TYPE-Level上放置自定义约束:

@Entity
@UniqueEmail
public class UserAccount { 

  @Email
  @Column(unique = true)
  private String email;
... 
}

注释为:

@Constraint(validatedBy = {UniqueEmailValidator.class})
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface UniqueEmail { ... }

不起作用。 UniqueEmailValidator永远不会被调用,除非我通过在注入.validate()

上调用javax.validation.Validator以编程方式触发它

这是预期的行为,还是可以通过BeanValidation还评估类型级别的自定义约束的方式进行更改。

0 个答案:

没有答案