2011-01-27 2 views
1

Я использую JSF 2, myfaces, hibernate-validator-4.1.0.Final.jar.Invoke bean validation

Я использую 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 

Как повторно использовать один и тот же валидатор здесь?



Set> constraintViolations = validator.validate (nc);
бросает это исключение

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

28 января 2011 8:35:39 AM javax.faces.event.MethodExpressionActionListener processAction
СИЛЬНЫЙ: java.lang.NoSuchMethodError: javax.persistence.Persistence.getPersistenceUtil() Ljavax/сохранение/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
Нужен ли мне какой-либо другой кувшин, чтобы сделать эту работу?

ответ

4

Вы можете вызвать валидатор вручную что-то вроде:

ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); 

Validator validator = factory.getValidator(); 

Client client = new Client(); 

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

Вы, скорее всего, еще неполную JPA 2 фляги файл на пути к классам. К сожалению, некоторые неполные версии этой банки были выпущены на определенном этапе (например, TopLink). Проверьте свой путь к классу для любой банки, содержащей классы JPA. См. Также https://forum.hibernate.org/viewtopic.php?f=9&t=999855

+0

Спасибо, я удалил hibernate-jpa-2.0-api-1.0.0.Final.jar и теперь его работу/проверку – yodhevauhe

Смежные вопросы