tengo una prueba, como a continuación:puedo anular un JSR-303 validación anotación
public class TestSizeAnnotation
{
public static void main(String[] args)
{
System.out.println(
Validation.buildDefaultValidatorFactory().getValidator().validate(new C()));
}
public static class P
{
private List<String> lst = newArrayList("AA");
@Size(max=0, message="P")
public List<String> getLst()
{
return lst;
}
public void setLst(List<String> lst)
{
this.lst = lst;
}
}
public static class C extends P
{
@Override
@Size(max=5, message="C")
public List<String> getLst()
{
return super.getLst();
}
}
}
con el siguiente resultado:
[ConstraintViolationImpl{interpolatedMessage='P', propertyPath=lst, rootBeanClass=class com....validator.TestSizeAnnotation$C, messageTemplate='P'}]
Sin embargo, esperaba que la anotación puede @Size
ser anulado, y no aparecerá ninguna advertencia.
¿Hay alguna manera de lograr eso?
EDIT: encontré un bug parece relacionado con eso, pero corro 4.2.0 final y sigo teniendo el comportamiento anterior.
sin , Quiero usar el validador predeterminado, pero anulo la anotación. – oshai
Lo siento, ahora veo lo que quieres decir. He editado mi respuesta. –
Gracias, ¿hay alguna manera de hacerlo en el código? – oshai