J'ai un validateur de bean personnalisé qui vérifie si un champ donné sur une entité est unique pour certaines conditions. Si la validation échoue, le message doit inclure un champ (par exemple l'ID) de l'entité déjà existante. Ainsi, par exemple, le message doit être:Interpolation des paramètres spécifiques à la validation dans le message de validation du bean
"Product 42 already has such a value defined, choose a unique value."
Est-ce possible en utilisant la validation du bean?
AFAICS, le format des messages peuvent inclure des paramètres, tels que:
"Length must be between {min} and {max}."
Mais cela ne peut référencer les attributs "statiques" de l'annotation de validation, dans ce cas:
@Size(min=1, max=16)
private String name;
En Dans mon cas, la valeur n'est connue que dans isValid
de mon validateur personnalisé.
Le problème est que je ne veux pas construire le message final dans le validateur, seulement un format (pour les traductions) et des paramètres. Mais je suppose que je suis supposé localiser le message dans le validateur. – robinst
J'ai posté la solution nous avons fini avec comme une autre réponse. Mais je pense que votre réponse permet des messages d'erreur plus spécifiques, même si la localisation doit être faite à l'intérieur du validateur, je l'ai accepté. – robinst