[
https://issues.apache.org/jira/browse/TAP5-149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12929346#action_12929346
]
Christian Köberl commented on TAP5-149:
---------------------------------------
I think this can be closed now: Tapestry Beanvalidator is doing exactly this
(http://tapestry.apache.org/tapestry5.2-dev/tapestry-beanvalidator/)
> Add JPA-annotation-driven validator
> -----------------------------------
>
> Key: TAP5-149
> URL: https://issues.apache.org/jira/browse/TAP5-149
> Project: Tapestry 5
> Issue Type: New Feature
> Affects Versions: 5.0.15
> Reporter: Daniel Gredler
> Priority: Minor
>
> The trend in validation seems to be to annotate your domain object
> properties; the annotations are then used by validation frameworks to
> validate the domain objects (see JPA / Hibernate Validator / JSR 303 /
> AppFuse 2 / etc).
> It'd be nice if Tapestry had a JpaValidator built in, which wouldn't be hard,
> except that the Validator interface doesn't provide enough information in the
> validate( ) method:
> public void validate(IFormComponent field, ValidationMessages messages,
> Object value) throws ValidatorException
> The options, as far as I can tell, would be:
> 1. The Validator level is the wrong level at which to read the annotations;
> read them higher up and assign multiple low-level validators
> (maxLength,required,maxValue,etc) at runtime. But where?
> 2. Provide the IBinding from which the value originated as an extra
> parameter in the validate( ) method, but let the validators check for
> whatever specific IBinding implementations they are interested in via
> instanceof.
> 3. Provide the IBinding from which the value originated as an extra
> parameter in the validate( ) method, and also enhance IBinding so that there
> is some standard way to access this sort of extra info without worrying about
> the specific binding type.
> Thoughts?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.