Tengo un validador de beans personalizado que comprueba si un campo determinado en una entidad es único para algunas condiciones. Si la validación falla, el mensaje debe incluir un campo (por ejemplo, el ID) de la entidad ya existente. Así, por ejemplo, el mensaje debe ser:Interpolar parámetros específicos de validación en el mensaje de validación de beans
"Product 42 already has such a value defined, choose a unique value."
Es esto posible mediante la validación de frijol?
AFAICS, el formato de los mensajes pueden incluir parámetros, tales como:
"Length must be between {min} and {max}."
Pero esto sólo se puede hacer referencia a los atributos "estáticos" de la anotación de validación, en este caso:
@Size(min=1, max=16)
private String name;
En En mi caso, el valor solo se conoce dentro de isValid
de mi validador personalizado.
El problema es que no quiero construir el mensaje final en el validador, solo un formato (para traducciones) y parámetros. Pero supongo que se supone que debo localizar el mensaje dentro del validador. – robinst
Publiqué la solución con la que terminamos como otra respuesta. Pero creo que su respuesta permite mensajes de error más específicos, incluso si la localización debe hacerse dentro del validador, lo acepté. – robinst