我想知道是否可以进行自定义hibernate验证注释 如果电子邮件存在与否,将检查数据库(调用dao方法并在电子邮件存在时返回true)
所以我可以这样做:
@NotBlank(message = "email is required")
@Email(message = "{invalid.email}")
@EmailExist(message = "{email.exist}")
@Column(name = "email", length = 155, nullable = false)
private String email;
如果可能请提供样品建议,提前谢谢。
答案 0 :(得分:1)
是的,应该可以,您只需要实现自定义注释验证器实现。
如果您使用真正的AspectJ并使用@Configurable
注释该类,那么您可以像使用其他所有Spring bean一样使用@Inject
。
@see:
答案 1 :(得分:1)
不需要AspectJ魔法。如果你正在使用spring,你只需要@Autowire - 注释你的领域,spring将注入DAO。请参见Spring Reference 5.7.2.2 Configuring Custom Constraints:
默认情况下,LocalValidatorFactoryBean配置一个 使用Spring创建的SpringConstraintValidatorFactory ConstraintValidator实例。这允许您的自定义 ConstraintValidators受益于依赖注入 其他春豆。
所以你唯一的工作就是编写自定义注释。在网上很容易找到样品。