You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Niall Pemberton (JIRA)" <ji...@apache.org> on 2006/07/19 15:22:20 UTC

[jira] Updated: (VALIDATOR-129) [validator] [patch] Enhance form to handle nested forms (beans)

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

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

    Component/s: Framework

> [validator] [patch] 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
>         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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org