2

我想知道如果有可能使自定義休眠的驗證註解 將在數據庫中檢查電子郵件存在與否(調用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; 

請與樣品如果可能的話提醒,在此先感謝。

回答

1

是的,它應該是可能的,你只需要實現你的自定義註釋驗證器實現。

如果您使用真正的AspectJ並用@Configurable註釋該類,那麼您使用@Inject就像每隔一個spring bean一樣。

@see:

+0

Spring Configurable的任何示例? –

+0

春天roo使havy使用它。所以你只需要一個entiti就可以建立一個spring roo projet。 entiti將使用該註釋。 – Ralph

1

無需AspectJ的法寶。如果你使用spring,你只需要@Autowire-註釋你的字段,spring會注入DAO。見春參考5.7.2.2 Configuring Custom Constraints

默認情況下,LocalValidatorFactoryBean配置使用Spring創建 ConstraintValidator實例一 SpringConstraintValidatorFactory。這允許您的自定義約束驗證器像任何其他Spring bean一樣受益於依賴注入。

所以你唯一的工作就是編寫自定義註釋。很容易在網上找到樣本。

+0

小心提供一個例子嗎? –