estoy tratando de agregar restricciones de comprobación, como se describe aquí How to specify the cardinality of a @OneToMany in EclipseLink/JPA¿Cómo importo javax.validation en mi proyecto Java SE?
15
A
Respuesta
14
Estas son las dependencias que estoy usando (con Maven):
<dependencies>
<!-- Bean Validation API and RI -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.0.2.GA</version>
</dependency>
</dependencies>
que se puede obtener de este repositorio:
<repositories>
<repository>
<id>jboss</id>
<name>JBoss repository</name>
<url>http://repository.jboss.org/maven2</url>
</repository>
</repositories>
11
últimas dependencias:
<!-- BeanValidation and Hibernate Validator. -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.0.Final</version>
</dependency>
tira Esta forma transitiva de la dependencia a la API Bean Validation, por lo que no necesita hacer esto más:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
Para características adicionales, lenguaje de expresión y de apoyo CDI, es posible que tenga que añadir
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.el</artifactId>
<version>3.0.1-b08</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator-cdi</artifactId>
<version>5.4.0.Final</version>
</dependency>
Fuente: Hibernate Validator documentation
todos ellos están ambos en Maven central repo, por lo que no es necesario añadir el repositorio JBoss.
Y por cierto aquí es mi método de conveniencia ejemplo:
public static <T extends Object> void validate(T object) throws MigrationException
{
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<T>> valRes = validator.validate(object);
if(! valRes.isEmpty())
{
StringBuilder sb = new StringBuilder("Validation failed for: ");
if(object instanceof Origin.Wise)
sb.append(((Origin.Wise)object).getOrigin());
else
sb.append(object);
for(ConstraintViolation<T> fail : valRes)
{
sb.append("\n ").append(fail.getMessage());
}
throw new IllegalArgumentException(sb.toString());
}
}// validate()
El Origin.Wise
es algo así como JAXB de @XmlLocation Locator
.
Cuestiones relacionadas
- 1. ¿Cómo importo jar a mi programa java?
- 2. ¿Cómo importo un proyecto de Java preexistente en Eclipse y me pongo en funcionamiento?
- 3. ¿Cómo importo un proyecto de Visual C++ en Qt Creator?
- 4. ¿Cómo incluyo archivos .class en mi proyecto en Eclipse? (Java)
- 5. ¿Cómo usar Maven en mi proyecto Java y por qué?
- 6. ¿Dónde puedo encontrar una implementación de javax.validation. *?
- 7. JSR 303 - javax.validation - Validar una fecha
- 8. ¿Cómo saber qué error tiene mi proyecto Java Eclipse?
- 9. ¿Cómo importo un archivo Java keystore existente (.jks) en una instalación Java?
- 10. ¿Cómo importo tipos no espaciados en IronPython?
- 11. ¿Cómo importo archivos .sql en SQLite 3?
- 12. ¿Dónde debería colocar los archivos SQL en mi proyecto Java?
- 13. ¿Cómo ejecutar mi proyecto node.js en android?
- 14. Cómo integrar social-auth en mi proyecto
- 15. Cómo incrustar un ejecutable en mi proyecto
- 16. ¿Cómo agrego todo mi proyecto en GitHub?
- 17. ¿cómo publico mi proyecto asp.net en mi iis local?
- 18. javax.validation para validar la lista de valores?
- 19. ¿Cómo importo un módulo cuyo nombre entra en conflicto con un módulo de mi paquete?
- 20. ¿Cómo importo una lib de terceros en git?
- 21. ¿Cómo incluyo archivos JAR externos en mi propio proyecto JAR
- 22. ¿Por qué mi proyecto de Eclipse se desarrolla tan lento?
- 23. ¿Cómo agrego curlpp a mi proyecto?
- 24. ¿Hay algún recopilador de métricas automatizado para mi proyecto Java?
- 25. ¿Cómo importo archivos con comandos SQL?
- 26. Cómo generar javadoc usando ubuntu + eclipse en mi proyecto
- 27. ¿Cómo importo/agrego un archivo de Python existente a un proyecto de PyCharm?
- 28. cómo agregar javaDoc a mi código Java en un proyecto basado en NetBeans?
- 29. ¿Cómo importo dart: html & dart: io en la misma clase?
- 30. ¿Cómo retiro mi proyecto de github?
Consulte la [otra respuesta] (http://stackoverflow.com/a/17329473/642706) para la última actualización de la versión de [Bean Validation 1.1] (http://beanvalidation.org/1.1/). –