Pregunta

Estoy usando JSF 2 ,myfaces, hibernate-validator-4.1.0.Final.jar.

Puedo usar hibernate-validador para la validación de los valores introducidos en el formulario.

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

Estoy desarrollando a granel-el módulo de carga ,donde analizar datos csv y crear registros de base de datos.

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

¿Cómo puedo volver a usar el mismo validador de aquí?



Set> constraintViolations = validador.validar(nc);
lanza esta excepción

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

Jan 28, 2011 8:35:39 AM javax.las caras.evento.MethodExpressionActionListener processAction
SEVERO:java.lang.NoSuchMethodError:javax.la persistencia.La persistencia.getPersistenceUtil()Ljavax/persistencia/PersistenceUtil;en org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:62)

He probado esta solución enlace
Tengo hibernate-jpa-2.0-api-1.0.0.Final.jar,hibernate-validator-4.1.0.Final.jar
Necesito cualquier otro frasco para hacer este trabajo?

¿Fue útil?

Solución

Puede invocar el validador manualmente con algo como:

ValidatorFactory factory = Validation.buildDefaultValidatorFactory();

Validator validator = factory.getValidator();

Client client = new Client();

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

Otros consejos

Lo más probable es que tenga otro archivo JPA 2 JAR incompleto en ClassPath. Desafortunadamente, algunas versiones incompletas de este frasco se lanzaron en alguna etapa (Toplink, por ejemplo). Consulte su classpath para cualquier frasco que contenga clases de JPA. Ver también https://forum.hibernate.org/viewtopic.php?f=9&t=999855

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top