[
https://issues.apache.org/jira/browse/WICKET-5654?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Del Bene resolved WICKET-5654.
-------------------------------------
Resolution: Fixed
Fix Version/s: 6.17.0
7.0.0-M3
> DefaultViolationTranslator should maybe use getMessage()
> --------------------------------------------------------
>
> Key: WICKET-5654
> URL: https://issues.apache.org/jira/browse/WICKET-5654
> Project: Wicket
> Issue Type: Improvement
> Components: wicket-bean-validation
> Reporter: Thibault Kruse
> Assignee: Igor Vaynberg
> Fix For: 7.0.0-M3, 6.17.0
>
> Attachments: jsr303issue.tar.gz
>
>
> We created our own Bean Validation Annotation like this:
> {code}
> @Constraint(validatedBy = YearMonthDurationValidator.class)
> public @interface DurationConstraints {
> String DEFAULT_MESSAGE = "{bad.boundaries}";
> ...
> {code}
> And in YearMonthDurationValidator:
> {code}
> @Override
> public boolean isValid(final Duration<YearMonth> value, final
> ConstraintValidatorContext context) {
> context.disableDefaultConstraintViolation();
> if (...) {
>
> context.buildConstraintViolationWithTemplate("{duration.from.null}").addPropertyNode("from")
> .addConstraintViolation();
> valid = false;
> } else {
>
> context.buildConstraintViolationWithTemplate("{duration.to.null}").addPropertyNode("from")
> .addConstraintViolation();
> valid = false;
> }
> ...
> {code}
> Wicket provides a DefaultViolationTranslator which uses
> violation.getConstraintDescriptor().getAttributes().get("message")
> as key to look up a localized message. However, in our case, this is always
> "bad.boundaries", and we believe that it would be more useful if the
> DefaultViolationTranslator used violation.getMessageTemplate() instead, or
> maybe as the first key (more backwards compatible). That way we could provide
> specific error messages for the cases duration.to.null and duration.from.null
> This is a complex design choice, so we are suggesting this tentatively, not
> really sure whether this would be actually better, and what breakage could
> occur.
> We will go ahead and implement our own IViolationTranslator as suggested.
--
This message was sent by Atlassian JIRA
(v6.2#6252)