Validation : {value} non remplacé dans le message
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:
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)); |
Citation:
- 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...