Bonjour,

J'utilise javax et Hibernate validation, tout fonctionne à merveille, sauf que le tag {value} n'est pas remplacé dans mes messages finaux.

Voici ma façon (un peu lourde ?) de procéder :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
MessageInterpolator messageInterpolator = Validation.buildDefaultValidatorFactory().getMessageInterpolator();
LOG.debug("- messageTemplate: " + violation.getMessageTemplate());
LOG.debug("- constraintDescriptor: " + violation.getConstraintDescriptor());
LOG.debug("- invalidValue: " + violation.getInvalidValue());
LOG.debug("- message: " + messageInterpolator.interpolate(violation
		.getMessageTemplate(), new Context() {
	@Override
	public ConstraintDescriptor<?> getConstraintDescriptor() {
		return violation.getConstraintDescriptor();
	}
 
	@Override
	public Object getValidatedValue() {
		return violation.getInvalidValue();
	}
}, locale));
- messageTemplate: {org.hibernate.validator.constraints.Range.message}
- constraintDescriptor: ConstraintDescriptorImpl{annotation=org.hibernate.validator.constraints.Range, payloads=[], hasComposingConstraints=false, isReportAsSingleInvalidConstraint=true, elementType=FIELD, definedOn=DEFINED_LOCALLY, groups=[interface javax.validation.groups.Default], attributes={message={org.hibernate.validator.constraints.Range.message}, min=0, payload=[Ljava.lang.Class;@965654, max=90, groups=[Ljava.lang.Class;@1fdd342}}
- invalidValue: 99
- message: {value} doit être entre 0 et 90
Une idée d'où vient l'erreur ?

Merci...