2010-12-22 10 views
12

Me di cuenta de que todas las restricciones incorporadas tienen un valor vacío para el parámetro validatedBy en @Constraint. es decir, @Constraint(validatedBy = {})Vacío validadoPor @Constraint

Primero, ¿por qué se les permite tener un valor vacío para validatedBy? Pensé que puedes dejarlo en blanco solo para la composición de restricciones que no necesita validación adicional.

Además, tenga en cuenta que el Validador de Hibernate aún puede encontrar una clase de implementación de validador para cada restricción incorporada, a pesar de que el validatedBy está vacío, pero si dejo el validado en blanco para mi restricción, mi validador personalizado nunca se recupera. ¿Porqué es eso?

Gracias.

+0

Otra razón por la que creo t su API es defectuosa –

+1

solo por completitud, esto fue respondida aquí: http://stackoverflow.com/questions/26544588/hibernate-validator-to-validate-constraints-if-constraintvalidated-by –

Respuesta

9

Los incorporados se tratan de una manera específica de implementación especial y sus validadores se configuran mediante programación.

Para el Validador de Hibernación se hace en ConstraintHelper.java. Creo que no puedes lograr lo mismo con tus restricciones personalizadas.

+0

Gracias, entonces no puedo irme la validated¿Por mi restricción en blanco y espero que Hibernate Validator recoja mi validador personalizado? –

+3

No, debe especificar su validador personalizado en la anotación para que Hibernate lo encuentre. – Guillaume