Matt,

That won't work for dynamic forms since I'm only dealing with POJOs.
Do you know where the code lives that enforces the ValidatorForm
requirement?  Maybe I can hack that up a bit.


On Thu, 23 Sep 2004 03:58:11 -0600, Matt Raible <[EMAIL PROTECTED]> wrote:
> Nick,
> 
> I tested this out tonight and was able to successfully generated rules
> for a Form that has a get/set on a ParentForm.
> 
> Here's how it works:
> 
> 1.  You have to put @struts.validator on the top-level setter.
> 2.  The parameter that's set must extend ValidationForm or
> ValidatorActionForm.
> 
> So if I generate an ActionForm from a POJO that has a nested POJO - the
> setter ends up being:
> 
> /**
>  * @struts.validator
>  */
> public void setPOJO(POJO pojo) {
>     this.pojo = pojo;
> }
> 
> In this case, no validation.xml entries will be generated for POJO b/c
> it doesn't extend from a ValidationForm.  If I manually change the
> generated file to:
> 
> /**
>  * @struts.validator
>  */
> public void setPOJOForm(POJOForm pojo) {
>     this.pojoForm = pojo;
> }
> 
> Everything works as expected.  The following comment in
> StrutsValidatorTagsHandler was helpful too:
> 
>         // TODO: nested forms currently won't work unless
>         // there is a setter for it, but that is not needed
>         // as only the sub-forms must have setters.  The top-level
>         // only requires a getter.
> 
> Matt
> 
> Nick Heudecker wrote:
> 
> >Matt:
> >
> >
> >Just tried this again and didn't have any luck.
> >
> >
> >On Wed, 22 Sep 2004 11:18:56 -0600, Matt Raible <[EMAIL PROTECTED]> wrote:
> >
> >
> >>Did you try putting an @struts.validator tag (w/ no attributes) on the
> >>parent objects setter?  I believe that is the workaround that Erik
> >>suggested.
> >>
> >>Matt
> >>
> >>
> >>
> >>On Sep 22, 2004, at 9:53 AM, Nick Heudecker wrote:
> >>
> >>
> >>
> >>>Matt,
> >>>
> >>>Putting the validation tags on the nested object's properties creates
> >>>validation XML, but the properties are not prefixed with the name of
> >>>the parent object's property name.  So you get this:
> >>>
> >>>            <field property="address1" depends="required">
> >>>                <arg0 key="home.address.1"/>
> >>>            </field>
> >>>
> >>>Instead of:
> >>>
> >>>            <field property="homeAddress.address1" depends="required">
> >>>                <arg0 key="home.address.1"/>
> >>>            </field>
> >>>
> >>>
> >>>
> >>>
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
> Project Admins to receive an Apple iPod Mini FREE for your judgement on
> who ports your project to Linux PPC the best. Sponsored by IBM.
> Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
> _______________________________________________
> xdoclet-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/xdoclet-devel
>


-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to