[
https://issues.apache.org/jira/browse/WICKET-5654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14103894#comment-14103894
]
ASF subversion and git services commented on WICKET-5654:
---------------------------------------------------------
Commit f2f77d8fcf7eeeac309010948ca36671cc51ac49 in wicket's branch
refs/heads/wicket-6.x from adelbene
[ https://git-wip-us.apache.org/repos/asf?p=wicket.git;h=f2f77d8 ]
WICKET-5654 DefaultViolationTranslator should maybe use getMessage()
> 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
> 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)