Hi Tom,
Now you've got this all mixed up. You dont need to call:
ActionErrors errors = ((MemberNewForm)form).validate(mapping,request);
..in your Action class anymore because Struts will automatically call
validate for you when you submit your form and you specify
validate=true in your struts-config (which you did). If there is an
error in validation, struts will take you back to the page you specify
in the "input" attribute.
HTH,
-Yves-
On Mon, 27 Sep 2004 11:54:19 -0400, Tom Holmes Jr. <[EMAIL PROTECTED]> wrote:
> > So i dont really understand what you mean when you say that it comes
> > back to MemberAction and you explicitly call
> > mapping.findForward("failure"). You're not supposed to call
> > ActionForm.validate() from your Action class if that's what you did.
>
> There is a "validate" method in the MemberNewForm. This code validates
> some of the data from the form, so if a field is not filled in or has an
> incorrect length, etc. We return a list of errors to the MemberAction.
> This is some of the code in the MemberNewForm to validate the data from
> the form. Is it not right to do this?
>
> public ActionErrors validate(ActionMapping mapping, HttpServletRequest
> request){
> ActionErrors errors = new ActionErrors();
> if((username == null) || (username.length() < 1))
> {
> errors.add("username", new ActionError("error.username.required"));
> }
>
> And here is what I have in my action form. I call the "validate" method
> in the formbean above from the MemberAction.
>
> ActionErrors errors = ((MemberNewForm)form).validate(mapping,request);
> if(errors.isEmpty())
> {
> // if there are no errors then do whatever ...
> }
> else
> {
> // if there are errors, put them in the request header
> saveErrors(request, errors);
> // if errors return to the 'failure' which is the same page as the form
> return (mapping.findForward("failure"));
> }
>
> I didn't know there should be a validate method, in the MemberAction. I
> haven't seen any samples of that, but that just means I haven't see
> that. I may not be looking hard enough.
>
> So, since I am manually calling "failure" by doing:
> return (mapping.findForward("failure"));
> And since this is mapped to a particular path/file, then I should be
> going to that page and not re-directed elsewhere.
>
> Thanks.
>
> Tom
>
> Yves Sy wrote
>
>
> > Hi,
> >
> >
> >>Actually both, in my code when the validate is false, then it comes back
> >>to the MemberAction controller and I do explicitity call:
> >>return mapping.findForward("failure");
> >
> >
> > According to the actionmapping you provided, validate = true. So this
> > means that struts will call validate() automatically for you and
> > return you to whatever page you specify in "input" if you have errors
> > in your validation.
> >
> > So i dont really understand what you mean when you say that it comes
> > back to MemberAction and you explicitly call
> > mapping.findForward("failure"). You're not supposed to call
> > ActionForm.validate() from your Action class if that's what you did.
> >
> > HTH,
> > -Yves-
> >
> > On Sun, 26 Sep 2004 14:45:01 -0400, Tom Holmes Jr. <[EMAIL PROTECTED]> wrote:
> >
> >>Yves Sy wrote:
> >>
> >>>What do you mean "failure"? You explicitly return
> >>>mapping.findForward("failure")? Or do you mean when the validate
> >>>method in ActionForm fails?
> >>
> >>Actually both, in my code when the validate is false, then it comes back
> >>to the MemberAction controller and I do explicitity call:
> >>return mapping.findForward("failure");
> >>
> >>
> >>>And what's the path of the page where you're being redirected?
> >>
> >>it should be redirecting to:
> >>path="/membership/membership_ee.jsp"
> >>as defined by:
> >><forward name="failure" path="/membership/membership_ee.jsp"/>
> >>
> >>This is the page where the user entered the wrong data, and I want to
> >>redirect them back to that page.
> >>
> >>Instead, I end up getting sent to another page that's:
> >>"../message_president/default.jsp"
> >>
> >>It expects this page is located in this directory, but it doesn't and I
> >>don't want to forward to here anyway. The directory and page do exist,
> >>but elsewhere in the web-site and it not related to my membership
> >>information.
> >>
> >>I tried to find if something was mis-configured, but I can't find out
> >>what. I'll keep working to figure it out even if I have to go back to
> >>something simpler to make it work.
> >>
> >>Thanks for the information.
> >>
> >> Tom
> >>
> >>
> >>>-Yves-
> >>>
> >>>On Sat, 25 Sep 2004 13:03:58 -0400, Tom Holmes Jr. <[EMAIL PROTECTED]> wrote:
> >>>
> >>>
> >>>>I've been working on this Member pages for a short time now, and it used
> >>>>to be that when the data didn't validate from the formbean, it would
> >>>>return to the correct page to allow the user to fix the data. When the
> >>>>data is entered correctly, the data does gets filed to the database, and
> >>>> the user is returned to the correct page saying that data has been
> >>>>filed. Here is the action mapping:
> >>>>
> >>>><action path="/membership_ee"
> >>>> type="com.tjh.csaa.beans.MemberAction"
> >>>> name="memberNewForm"
> >>>> scope="request"
> >>>> input="/membership/membership_ee.jsp"
> >>>> validate="true">
> >>>><forward name="failure" path="/membership/membership_ee.jsp"/>
> >>>><forward name="success" path="/membership/membership_created.jsp"/>
> >>>>
> >>>>This hasn't changed at all, and it used to work fine. And it still does
> >>>>work if the return is "success". But, when I return "failure", I get
> >>>>re-directed to some other page that doesn't exist in this directory. I
> >>>>don't know why it would start doing that all of a sudden?
> >>>>
> >>>>Any help would be much appreciated. Thanks!
> >>>>
> >>>> Tom
> >>>>
> >>>>---------------------------------------------------------------------
> >>>>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]
>
>
--
For me to poop on!
http://www.formetopoopon.com
http://www.nbc.com/nbc/Late_Night_with_Conan_O'Brien/video/triumph.shtml
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]