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]