You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Christian Köberl (JIRA)" <ji...@apache.org> on 2010/11/07 16:24:07 UTC

[jira] Commented: (TAP5-149) Add JPA-annotation-driven validator

    [ 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.