[ http://issues.apache.org/jira/browse/VALIDATOR-129?page=all ]

Niall Pemberton updated VALIDATOR-129:
--------------------------------------

      Bugzilla Id:   (was: 38133)
          Summary: Enhance form to handle nested forms (beans)  (was: 
[validator] [patch] Enhance form to handle nested forms (beans))
    Fix Version/s: Validator2

> Enhance form to handle nested forms (beans)
> -------------------------------------------
>
>                 Key: VALIDATOR-129
>                 URL: http://issues.apache.org/jira/browse/VALIDATOR-129
>             Project: Commons Validator
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: 1.2.0 Release
>         Environment: Operating System: other
> Platform: Other
>            Reporter: Tomasz Bech
>            Priority: Minor
>             Fix For: Validator2
>
>         Attachments: nested-patch-v1.txt
>
>
> It was initialy discussed in the bug
> http://issues.apache.org/bugzilla/show_bug.cgi?id=16394
> but I recognized that the author wanted a little bit different feature.
> Generally validator doesn't support validation of nested beans/forms. Current
> IndexedListProperty implementation allows it only for one nested bean, it is 
> not
> sufficient for complex forms/beans (many nested levels), it is rather 
> workaround
> than full implementation. It also doesn't correspond to Struts nested tag (and
> validator is mainly used by Struts).
> Patch is included, it is based on latest validator1.2.0 svn.
> Form tag can now include nested tag as (it is in dtd_1.2.1):
> <!--
>      Defines the nested beans to be validated. Two way of nested beans are
> possible: 
>      simple - accessed by property and 
>      'indexed'-  accessed by indexed property.
>        Nested validation supports any level of nested beans. The idea and 
> usage 
>        is similar to nested tag in Struts taglib.
>      The nested element accepts these  attributes:
>      property        The property on the JavaBean corresponding to this
>                      nested element.
>      indexedListProperty
>                      The "indexedListProperty" is the method name that will
>                      return an array or a Collection used to retrieve the
>                      list and then loop through the list performing the
>                      validations on the bean.
>      type        The type/name of the nested bean which will be validated.
>                                       The validation rules  are described as 
> standard form tag with the same name
> as specified for type.
>      One and exactly one of property and indexedListProperty can be specified
> exclusively.
> -->
> <!ELEMENT nested (msg|arg|var)*>
> <!ATTLIST nested property CDATA #IMPLIED>
> <!ATTLIST nested indexedListProperty CDATA #IMPLIED>
> <!ATTLIST nested type CDATA #REQUIRED>
> Example usage is:
> <form-validation>
>    <global>
>       <validator name="byte"
>                  classname="org.apache.commons.validator.TestValidator"
>                  method="validateByte"
>                  
> methodParams="java.lang.Object,org.apache.commons.validator.Field"
>                  msg=""/>
>    </global>
>    <formset>
>       <form name="complexForm">
>         <field property="value" depends="byte"/>
>                         <nested property="subForm" type="subForm1"/>
>                         <nested indexedListProperty="listSubForms" 
> type="subForm2"/>
>                         <nested indexedListProperty="listComplexSubForms" 
> type="subFormComplex"/>
>       </form>
>       <form name="subForm1">
>         <field property="value" depends="byte"/>
>       </form>
>                                
>       <form name="subForm2" extends="subForm1">
>       </form>
>       <form name="subFormComplex">
>         <field property="value" depends="byte"/>
>                         <nested property="subForm" type="subForm1"/>
>                         <nested indexedListProperty="listSubForms" 
> type="subForm2"/>
>       </form>
>                                
>    </formset>   
> </form-validation>
> There is test included (NestedTest.java), see there NestedTest-config.xml and
> how to use nested tag.
> Currently I tested it in our STRUTS project, it works correctly for 2 level
> nested beans.
> Please give me any feedback, reports, bugs, etc. I hope that there is a chance
> to have it merged in the source base.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to