Вызовать проверку бобов
-
26-10-2019 - |
Вопрос
Я использую JSF 2, Myfaces, Hibernate-Validator-4.1.0.final.jar.
Я использую Hibernate-Validator для проверки значений, введенных в форме.
public class Client {
@Persistent
@Pattern(regexp = "|.+@.+\\.[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 = valyator.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 Процедуракция
Серьезный: java.lang.nosuchmethoderror: javax.persistence.persistence.getPersistenceutil () ljavax/Persistence/Persistenceutil; at org.hibernate.validator.engine.resolver.jpatraversableresolver.isreachable (jpatraversableresolver.java:62)
Я попробовал это решение ссылка на сайт
У меня есть hibernate-jpa-2.0-api-1.0.0.final.jar, hibernate-validator-4.1.0.final.jar
Мне нужна другая банка, чтобы сделать эту работу?
Решение
Вы можете вызвать валидатор вручную с чем -то вроде:
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Client client = new Client();
Set<ConstraintViolation<Client>> constraintViolations = validator.validate(client);
Другие советы
Скорее всего, у вас есть еще один неполный файл JPA 2 на классе. К сожалению, некоторые неполные версии этой банки были выпущены на каком -то этапе (например, Toplink). Проверьте свою группу в классе, чтобы узнать любую банку, содержащую классы JPA. Смотрите также https://forum.hibernate.org/viewtopic.php?f=9&t=999855