2013-07-23 3 views
0

삭제하기 전에 BeanValidation을 사용하여 레코드의 유효성을 검사하려면 어떻게해야합니까? 예를 들어 executeDate 필드가 미래에있을 때만 레코드를 삭제할 수 있습니다.삭제가 가능한지 확인하기위한 BeanValidation

내 프로젝트에서 성공적으로 beanvalidation을 사용하고 있습니다. 주석 기반으로 구성되었습니다. 저는 컨트롤러 방법에 대한 주석으로 @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, 또한 문서를 최대 절전 모드,하지만 나를 위해 명확 강철되지 않습니다 : 내가 이것을 본
. 지금까지 유효성 검사를 한 적이 있다면 삭제를위한 특별한 경우 만 추가하면됩니까? 이 기능을 하나만 사용하기 위해 수행해야 할 단계가 무엇인지 혼란 스럽습니다.

당신이 당신의 사건에 대한 @Past 주석을 사용할 수 있습니다 BeanValidation 문서에 대한

+0

가능한 중복 (http://stackoverflow.com/questions/16930623/hibernate -validator-different-groups-on-create-update-delete) – Ralph

+0

전에 보았지만 도움이되지 않습니다. ( – Saram

답변

0

이 주석을 추가하여 지속성 구성

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

에 추가 참조 귀하의 날짜 필드에

@Past(groups=MyDeleteGroup.class) 

그룹 MyDeleteGroupjavax.validation.groups.Default 같은 단지 마커 인터페이스입니다 삭제

[발리 최대 절전 모드 - 생성, 업데이트에 다른 그룹을 삭제]의
+0

완벽하게 작동합니다! 이렇게 쉽게 될 수 없다고 가정합니다. :) – Saram

0

see this link

은 6.1 절

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

@Past는 괜찮지 만 저장하지 않을 때만 확인하는 방법. – Saram

+0

수정 한 사용자 : – Angga

관련 문제