Question

J'utilise JSF 2, myfaces, mise en veille prolongée-validateur-4.1.0.Final.jar.

J'utilise hibernate-validateur pour valider les valeurs saisies sous forme.

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

Je développe le module en vrac télécharger, où i analyser les données csv et créer des enregistrements de base de données.

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

Comment puis-je réutiliser ici même validateur?



Set> constraintViolations = validator.validate (nc);
jette cette exception

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

28 janvier 2011 08:35:39 javax.faces.event.MethodExpressionActionListener processAction
GRAVE: java.lang.NoSuchMethodError: javax.persistence.Persistence.getPersistenceUtil () Ljavax / persistance / PersistenceUtil; à org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable (JPATraversableResolver.java:62)

J'ai essayé cette solution
J'ai mise en veille prolongée JPA-2.0-api-1.0.0.Final.jar, mise en veille prolongée-validateur-4.1.0.Final.jar
Ai-je besoin de tout autre pot pour faire ce travail?

Était-ce utile?

La solution

Vous pouvez appeler le validateur manuellement avec quelque chose comme:

ValidatorFactory factory = Validation.buildDefaultValidatorFactory();

Validator validator = factory.getValidator();

Client client = new Client();

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

Autres conseils

Vous avez probablement un autre fichier jar JPA 2 incomplète sur le chemin de classe. Malheureusement, certaines versions incomplètes de ce pot se sont libérés à un moment donné (TopLink par exemple). Vérifiez votre classpath pour tout pot contenant des classes JPA. Voir aussi https://forum.hibernate.org/viewtopic.php?f=9&t = 999855

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top