2013-07-23 19 views
0

如何使用BeanValidation驗證記錄之前刪除?例如,我只能在將來executeDate字段時刪除記錄。BeanValidation如果刪除可能

我使用的是在我的項目的成功beanvalidation。這是基於註釋的配置。我在Controller方法上使用了@Valid註釋。這是基於Spring的MVC應用程序。

我的環境:

<hibernate4.core.version>4.2.1.Final</hibernate4.core.version> 
<spring.version>3.2.2.RELEASE</spring.version> 
<hibernate.search.version>4.2.0.Final</hibernate.search.version> 

編輯:
我看到這個:hibernate validator - different groups on create, update, delete,和Hibernate文檔還可以,但它是鋼不清楚我。 如果我有驗證工作到目前爲止我只需要添加特殊情況下刪除?我很困惑我需要做什麼才能獲得這一功能。

+0

可能重複(http://stackoverflow.com/questions/16930623/hibernate -validator-不同的基上創建,更新,刪除) – Ralph

+0

之前已經看到了,但並不能幫助我:( – Saram

回答

0

添加到您的持久性配置

<property name="javax.persistence.validation.group.pre-remov">MyDeleteGroup</property> 

添加此註釋到你的日期字段

@Past(groups=MyDeleteGroup.class) 

刪除MyDeleteGroup集團就像javax.validation.groups.Default一個標記接口

的[Hibernate驗證 - 在創建,更新不同的組,刪除]
+0

完美的作品! 假設它不能這麼容易:) – Saram

0

see this link爲BeanValidation文檔

您可以使用@Past註解爲你的情況

見6.1

<event type="pre-delete"> 
    <listener class="org.hibernate.cfg.beanvalidation.BeanValidationEventListener"/> 
</event> 
+0

@Past是好的,但怎麼刪除不節能,只有當檢查。 – Saram

+0

編輯按照您的意見 – Angga