2011-01-27 6 views
1

JSF 2, myfaces, hibernate-validator-4.1.0.Final.jar를 사용하고 있습니다.Bean 유효성 확인

나는 hibernate-validator를 사용하여 양식에 입력 된 값의 유효성을 검사합니다.

public class Client { 
    @Persistent 
    @Pattern(regexp = "|[email protected]+\\.[a-z]+", message = "Email format is invalid.") 
    private String email; 
    //getter 
} 

저는 CSV 데이터를 구문 분석하고 데이터베이스 레코드를 생성하는 대량 업로드 모듈을 개발 중입니다.

... 
try{ 
    Client cl=new Client(); 
    cl.setEmail("from_csv_data"); 
}catch(//validation failed 

여기에서 동일한 유효성 검사기를 어떻게 다시 사용합니까?



집합> constraintViolations = validator.validate (nc);
이 예외를 발생

SEVERE: Received 'java.lang.NoSuchMethodError' when invoking action listener '#{clientBean.bulkUpload}' for component 'j_idt86' 

2011년 1월 28일 오전 8시 35분 39초 javax.faces.event.MethodExpressionActionListener의 processAction
SEVERE : java.lang.NoSuchMethodError : javax.persistence.Persistence.getPersistenceUtil() Ljavax/persistence/PersistenceUtil; org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable (JPATraversableResolver.java:62)

에서 나는이 솔루션 link
내가 hibernate-jpa-2.0-api-1.0.0.Final을 시도했다. jar, hibernate-validator-4.1.0.Final.jar
이 작업을 수행하는 데 다른 jar 파일이 필요합니까?

답변

4

당신은 같은 수동 검사기를 호출 할 수 있습니다

ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); 

Validator validator = factory.getValidator(); 

Client client = new Client(); 

Set<ConstraintViolation<Client>> constraintViolations = validator.validate(client); 
1

당신은 가능성이 가장 높은 클래스 패스에 또 다른 불완전 JPA 2 jar 파일이 있습니다. 불행히도,이 병의 일부 불완전한 버전이 어떤 단계에서 (예를 들어 TopLink에서) 출시되었습니다. 클래스 패스에 JPA 클래스가 들어있는 jar가 있는지 확인하십시오. 또한 https://forum.hibernate.org/viewtopic.php?f=9&t=999855

+0

고마워, 나는 hibernate-jpa-2.0-api-1.0.0.Final.jar를 제거하고 현재 작동/검증 중이다. – yodhevauhe