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));Une idée d'où vient l'erreur ?- 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
Merci...
Partager