Re: Nested form validation

2004-12-10 Thread Ben
Thanks, I am doing just that.

Just a quick question, how do I use the property name as the error key
in the validate() method?

I have this but it uses the form name as the key, not the name of the
property currently validating.

public ActionErrors validate(ActionMapping mapping, HttpServletRequest
request) {
 ActionErrors errors = new ActionErrors();
 String validationKey = getValidationKey(mapping, request);
 
 errors.add(validationKey, new ActionMessage("errors.input"));
 
 return errors;
}

Thanks

On Fri, 10 Dec 2004 09:34:26 -0600, Hubert Rabago <[EMAIL PROTECTED]> wrote:
> I would think so, but you'd have to call Validator yourself.  Take a
> look at how the ValidatorForm#validate() calls it, and base your
> nested.validate() code on that.  After the call, append the errors
> from your main form and those in your nested form.
> 
> 
> 
> On Fri, 10 Dec 2004 10:41:36 +1100, Ben <[EMAIL PROTECTED]> wrote:
> > If I do this, can I use Struts validators and my custom validate method?
> >
> >
> >
> >
> > On Thu, 9 Dec 2004 16:08:03 -0600, Hubert Rabago <[EMAIL PROTECTED]> wrote:
> > > Why not call nested.validate() inside NormalForm#validate(), then add
> > > the appropriate ActionMessage objects in the resulting ActionErrors?
> > >
> > >
> > >
> > >
> > > On Fri, 10 Dec 2004 08:57:17 +1100, Ben <[EMAIL PROTECTED]> wrote:
> > > > Hi
> > > >
> > > > Within my normal form there is a nested form. The nested form has
> > > > custom validation. The validate attribute of the action is set to
> > > > false. My question is how do I validate the normal form and
> > > > automatically validate the nested form with my custom validation
> > > > method?
> > > >
> > > > E.g.
> > > >
> > > > NormalForm () {
> > > > NestedForm nested = new NestedForm();
> > > > }
> > > >
> > > > NestedForm () {
> > > > validate(...) {
> > > > // checking the data here
> > > > }
> > > > }
> > > >
> > > > So my action would validate the form as:
> > > >
> > > > MyAction () {
> > > > NormalForm nForm = (NormalForm) form;
> > > > ActionErrors errors = nForm.validate(); // Validate the data
> > > > }
> > > >
> > > > The problem here is that it validates the NormalForm and ignores my
> > > > validation in the NestedForm.
> > > >
> > > > I hope this question makes sense to you... :)
> > > >
> > > > Thanks,
> > > > Ben
> > > >
> > > > -
> > >
> > >
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> >
> 
> -
> 
> 
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

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



Re: Nested form validation

2004-12-10 Thread Hubert Rabago
I would think so, but you'd have to call Validator yourself.  Take a
look at how the ValidatorForm#validate() calls it, and base your
nested.validate() code on that.  After the call, append the errors
from your main form and those in your nested form.

On Fri, 10 Dec 2004 10:41:36 +1100, Ben <[EMAIL PROTECTED]> wrote:
> If I do this, can I use Struts validators and my custom validate method?
> 
> 
> 
> 
> On Thu, 9 Dec 2004 16:08:03 -0600, Hubert Rabago <[EMAIL PROTECTED]> wrote:
> > Why not call nested.validate() inside NormalForm#validate(), then add
> > the appropriate ActionMessage objects in the resulting ActionErrors?
> >
> >
> >
> >
> > On Fri, 10 Dec 2004 08:57:17 +1100, Ben <[EMAIL PROTECTED]> wrote:
> > > Hi
> > >
> > > Within my normal form there is a nested form. The nested form has
> > > custom validation. The validate attribute of the action is set to
> > > false. My question is how do I validate the normal form and
> > > automatically validate the nested form with my custom validation
> > > method?
> > >
> > > E.g.
> > >
> > > NormalForm () {
> > > NestedForm nested = new NestedForm();
> > > }
> > >
> > > NestedForm () {
> > > validate(...) {
> > > // checking the data here
> > > }
> > > }
> > >
> > > So my action would validate the form as:
> > >
> > > MyAction () {
> > > NormalForm nForm = (NormalForm) form;
> > > ActionErrors errors = nForm.validate(); // Validate the data
> > > }
> > >
> > > The problem here is that it validates the NormalForm and ignores my
> > > validation in the NestedForm.
> > >
> > > I hope this question makes sense to you... :)
> > >
> > > Thanks,
> > > Ben
> > >
> > > -
> >
> >
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
>

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



Re: Nested form validation

2004-12-09 Thread Matt Bathje
Ben wrote:
I meant this:

  
  
  
  

UserForm () {
String name;
AddressForm address = new AddressForm();
}
AddressForm () {
String city;
String zipcode;
String country;
validate(...) {
// validate the address
}
}
UserAction () {
UserForm userForm = (UserForm) form;
ActionErrors errors = userForm.validate(); // Manually validate the data
}
When I call the validate method in my action to validate the userForm,
I would like it to validate the addressForm as well (with my custom
validate method).
Can I do something like this?
ActionErrors errors = userForm.validate(); // Validate the userForm
errors = userForm.address.validate(); // Validate the addressForm
So the errors variable would contains errors in userForm and addressForm.
Thanks,
Ben
Ben - I think you have it mostly correct, except that the call to 
userForm.address.validate(); should APPEND to errors, not overwrite it 
by using an equal sign.

Hopefully somebody will correct anything else that won't work :)
Matt
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Nested form validation

2004-12-09 Thread Ben
I meant this:


  
  
  
  


UserForm () {
String name;
AddressForm address = new AddressForm();
}

AddressForm () {
String city;
String zipcode;
String country;

validate(...) {
// validate the address
}
}

UserAction () {
UserForm userForm = (UserForm) form;
ActionErrors errors = userForm.validate(); // Manually validate the data
}

When I call the validate method in my action to validate the userForm,
I would like it to validate the addressForm as well (with my custom
validate method).

Can I do something like this?

ActionErrors errors = userForm.validate(); // Validate the userForm
errors = userForm.address.validate(); // Validate the addressForm

So the errors variable would contains errors in userForm and addressForm.

Thanks,
Ben


On Thu, 09 Dec 2004 16:01:12 -0600, Matt Bathje <[EMAIL PROTECTED]> wrote:
> Are you talking something like
> 
> 
>
>
>  
>
> 
> 
> If so, then its most likely not possible. Furthermore, it is not
> standard HTML, and not guaranteed to work on any browser - whatever you
> are doing with nested forms needs to be rethought so as not to use them.
> 
> If that is not what you are talking about, we may need further
> explanation (with possibly a sample of the form...)
> 
> Matt
> 
> 
> 
> 
> Ben wrote:
> > Hi
> >
> > Within my normal form there is a nested form. The nested form has
> > custom validation. The validate attribute of the action is set to
> > false. My question is how do I validate the normal form and
> > automatically validate the nested form with my custom validation
> > method?
> >
> > E.g.
> >
> > NormalForm () {
> > NestedForm nested = new NestedForm();
> > }
> >
> > NestedForm () {
> > validate(...) {
> > // checking the data here
> > }
> > }
> >
> > So my action would validate the form as:
> >
> > MyAction () {
> > NormalForm nForm = (NormalForm) form;
> > ActionErrors errors = nForm.validate(); // Validate the data
> > }
> >
> > The problem here is that it validates the NormalForm and ignores my
> > validation in the NestedForm.
> >
> > I hope this question makes sense to you... :)
> >
> > Thanks,
> > Ben
> > 
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

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



Re: Nested form validation

2004-12-09 Thread Hubert Rabago
Why not call nested.validate() inside NormalForm#validate(), then add
the appropriate ActionMessage objects in the resulting ActionErrors?


On Fri, 10 Dec 2004 08:57:17 +1100, Ben <[EMAIL PROTECTED]> wrote:
> Hi
> 
> Within my normal form there is a nested form. The nested form has
> custom validation. The validate attribute of the action is set to
> false. My question is how do I validate the normal form and
> automatically validate the nested form with my custom validation
> method?
> 
> E.g.
> 
> NormalForm () {
> NestedForm nested = new NestedForm();
> }
> 
> NestedForm () {
> validate(...) {
> // checking the data here
> }
> }
> 
> So my action would validate the form as:
> 
> MyAction () {
> NormalForm nForm = (NormalForm) form;
> ActionErrors errors = nForm.validate(); // Validate the data
> }
> 
> The problem here is that it validates the NormalForm and ignores my
> validation in the NestedForm.
> 
> I hope this question makes sense to you... :)
> 
> Thanks,
> Ben
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

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



Re: Nested form validation

2004-12-09 Thread Matt Bathje
Are you talking something like

  
  

  

If so, then its most likely not possible. Furthermore, it is not 
standard HTML, and not guaranteed to work on any browser - whatever you 
are doing with nested forms needs to be rethought so as not to use them.

If that is not what you are talking about, we may need further 
explanation (with possibly a sample of the form...)

Matt

Ben wrote:
Hi
Within my normal form there is a nested form. The nested form has
custom validation. The validate attribute of the action is set to
false. My question is how do I validate the normal form and
automatically validate the nested form with my custom validation
method?
E.g.
NormalForm () {
NestedForm nested = new NestedForm();
}
NestedForm () {
validate(...) {
// checking the data here
}
}
So my action would validate the form as:
MyAction () {
NormalForm nForm = (NormalForm) form;
ActionErrors errors = nForm.validate(); // Validate the data
}
The problem here is that it validates the NormalForm and ignores my
validation in the NestedForm.
I hope this question makes sense to you... :)
Thanks,
Ben
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

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


Nested form validation

2004-12-09 Thread Ben
Hi

Within my normal form there is a nested form. The nested form has
custom validation. The validate attribute of the action is set to
false. My question is how do I validate the normal form and
automatically validate the nested form with my custom validation
method?

E.g.

NormalForm () {
NestedForm nested = new NestedForm();
}

NestedForm () {
validate(...) {
// checking the data here
}
}

So my action would validate the form as:

MyAction () {
NormalForm nForm = (NormalForm) form;
ActionErrors errors = nForm.validate(); // Validate the data
}

The problem here is that it validates the NormalForm and ignores my
validation in the NestedForm.

I hope this question makes sense to you... :)

Thanks,
Ben

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