¿Es posible validar cada elemento de una colección, basándose en una o más reglas de validación de delegado? Por ejemplo:Validación JSR303 en la colección de objetos comunes
@EachElement({@Min(1), @Max(12)})
private Set<Integer> monthNumbers;
¿Es posible validar cada elemento de una colección, basándose en una o más reglas de validación de delegado? Por ejemplo:Validación JSR303 en la colección de objetos comunes
@EachElement({@Min(1), @Max(12)})
private Set<Integer> monthNumbers;
Tenga una mirada en esta respuesta: Hibernate Validation of Collections of Primitives. Eso describe una solución que funciona para usted, pero es bastante compleja. Una solución más simple podría ser implementar una clase contenedora para su Integer
y declarar @Min
y @Max
en esa clase. Que se puede utilizar
@Valid
private Set<MyIntegerWrapper> monthNumbers;
MyIntegerWrapper clase:
class MyIntegerWrapper
{
@Min(1)
@Max(12)
Integer myInteger;
}
Aquí encuentras alguna documentación para @Valid
: Object graphs
Tome un vistazo a validator-collection, con esta biblioteca es muy fácil de usar ningún tipo de restricción Anotación en una colección de tipos simples.
@EachMin(1)
@EachMax(12)
private Set<Integer> monthNumbers;
Ver también https://stackoverflow.com/a/16023061/2217862.