Without seeing your validation code I'm guessing you have this or want to
have this:
public ActionErrors validate (ActionMapping actionMapping,
HttpServletRequest httpServletRequest)
{
ActionErrors errors = new ActionErrors();
if (getCountryName() == null || getCountryName().length() <
1)
{
errors.add("countryName", new
ActionError("errors.required","Country Name"));
}
if (getCountryCapital() == null ||
getCountryCapital().length() < 1)
{
errors.add("countryCapital", new
ActionError("errors.required","Country Capital"));
}
saveMessages(request, (ActionMessages) errors);
return (errors);
}
Shed.
> -----Original Message-----
> From: Nadia Kunkov [mailto:[EMAIL PROTECTED]
> Sent: Friday, October 15, 2004 10:13 AM
> To: Struts Users Mailing List
> Subject: RE: Newbie <html:errors/> never displays errors
>
>
> Do I add saveMessages(request, (ActionMessages) errors); to
> the Validate method of ActionForm? Since that is where the
> validation is happening.
> Thanks
>
>
> -----Original Message-----
> From: Hollaway, Shedrick CIV (TRFKB C600)
> [mailto:[EMAIL PROTECTED]
> Sent: Friday, October 15, 2004 10:00 AM
> To: 'Struts Users Mailing List'
> Subject: RE: Newbie <html:errors/> never displays errors
>
>
> Looks like you are not saving your errors. Try this after errors.add:
>
> saveMessages(request, (ActionMessages) errors);
>
> > -----Original Message-----
> > From: Nadia Kunkov [mailto:[EMAIL PROTECTED]
> > Sent: Friday, October 15, 2004 9:01 AM
> > To: Struts Users Mailing List
> > Subject: RE: Newbie <html:errors/> never displays errors
> >
> >
> > David,
> >
> > I followed your suggestions. I have everything set up the
> > way you said.
> > I have a default error:
> > errors.add("countryName", new
> > ActionError("errors.required","Country Name"));
> >
> > I'm displaying the error using
> >
> > <logic:messagesPresent>
> > <ul>
> > <html:messages id="error" property="countryName">
> > <li><bean:write name="error"/></li>
> > </html:messages>
> > </ul>
> > </logic:messagesPresent>
> >
> > I get the following error:
> > javax.servlet.ServletException: Cannot find bean error in any scope
> >
> > I also tried doing the following:
> > logic:messagesPresent>
> > <ul>
> > <html:messages id="error">
> > <li><bean:write name="countryName"/></li>
> > </html:messages>
> > </ul>
> > </logic:messagesPresent>
> >
> > I still get an error :
> > javax.servlet.ServletException: Cannot find bean countryName
> > in any scope
> >
> >
> > It seems like the error doesn't get added to the session or request.
> > Anything else you could suggest?
> > Thanks
> > Nadia
> >
> > -----Original Message-----
> > From: David G. Friedman [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, October 13, 2004 3:26 PM
> > To: Struts Users Mailing List
> > Subject: RE: Newbie <html:errors/> never displays errors
> >
> >
> > Nadia,
> >
> > Are you sure you have the 3 important pieces?
> >
> > A) a struts-config.xml (or module) define message resources
> > file? Mine is
> > the file WEB-INF/classes/application.properties, which
> > contains the line:
> >
> > errors.required={0} is required.
> >
> > My struts-config.xml includes this resource with the line:
> > <message-resources parameter="application" null="true" />
> >
> > B) Have you put a 'default' error message in your
> > ActionForm's validate()
> > method for testing purposes so your method does not end with:
> > return(errors);
> >
> > but with:
> >
> >
> > C) You have JSP Code like this:
> >
> > <logic:messagesPresent>
> > <ul>
> > <html:messages id="error">
> > <li><bean:write name="error"/></li>
> > </html:messages>
> > </ul>
> > </logic:messagesPresent>
> >
> > I got this to work but only AFTER I made sure I had step A
> configured
> > properly.
> >
> > Since you used property key names when you added each error
> > instead of using
> > the Globals.ERROR key, a.k.a. the string "error". You added
> > each item under
> > keys like "countryName" and "countryCapital" so you could
> access them
> > individually like this:
> >
> > <logic:messagesPresent>
> > <ul>
> > <html:messages id="error" property="countryName">
> > <li><bean:write name="error"/></li>
> > </html:messages>
> > </ul>
> > </logic:messagesPresent>
> >
> > AND
> >
> > <logic:messagesPresent>
> > <ul>
> > <html:messages id="error" property="countryCapital">
> > <li><bean:write name="error"/></li>
> > </html:messages>
> > </ul>
> > </logic:messagesPresent>
> >
> > Regards,
> > David
> >
> > -----Original Message-----
> > From: Nadia Kunkov [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, October 13, 2004 1:20 PM
> > To: Struts Users Mailing List
> > Subject: RE: Newbie <html:errors/> never displays errors
> >
> >
> > Nooo... I guess that's it!
> > I thought you need to call saveErrors only when you create
> > ActionErrors
> > inside Action and not in Validate...
> > Here is my Action (I'm using DispatchAction):
> >
> > public ActionForward Add (ActionMapping actionMapping, ActionForm
> > actionForm,
> > HttpServletRequest req,
> > HttpServletResponse res)
> > throws Exception
> > {
> >
> > javax.sql.DataSource dataSource;
> >
> > dataSource = (DataSource)
> > servlet.getServletContext().getAttribute(org.apache.struts.Glo
> > bals.DATA_SOUR
> > CE_KEY);
> > CountryService countryService = new CountryService();
> > CountryDTO country = new CountryDTO();
> > BeanUtils.copyProperties(
> > country,(AddCountryNewForm) actionForm);
> > countryService.addCountry(country,dataSource);
> >
> > return actionMapping.findForward("newcountrylisting");
> > }
> >
> >
> > Where do I save the errors generated by the validate?
> >
> > Thanks
> >
> > -----Original Message-----
> > From: David G. Friedman [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, October 13, 2004 1:10 PM
> > To: Struts Users Mailing List
> > Subject: RE: Newbie <html:errors/> never displays errors
> >
> >
> > Did you call saveErrors() or saveMessages() in your Action
> to save the
> > messages into the (request) scope for use in the JSP?
> >
> > -----Original Message-----
> > From: Nadia Kunkov [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, October 13, 2004 12:59 PM
> > To: Struts Users Mailing List
> > Subject: RE: Newbie <html:errors/> never displays errors
> >
> >
> > Yes, here is what I tried:
> >
> > <logic:messagesPresent>
> > <ul>
> > <html:messages id="error" name="countryName">
> > <li><bean:write name="error"/></li>
> > </html:messages>
> > </ul>
> > </logic:messagesPresent>
> >
> > I get an error: can't find bean "error" in any scope :(
> > This drives me nuts.
> > Thanks for helping me.
> >
> > -----Original Message-----
> > From: David G. Friedman [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, October 13, 2004 12:56 PM
> > To: Struts Users Mailing List
> > Subject: RE: Newbie <html:errors/> never displays errors
> >
> >
> > Nadia,
> >
> > The bean:write's name attribute must match the id parameter of the
> > html:messages tag. That's why I suggested your html:messages tag be:
> >
> > <html:messages id="error" name="countryName">
> >
> > This means it should pull the errors from the area
> > "countryName" and present
> > them for the bean:write tag to use as the name "error" (see
> > id=".."). Have
> > you tried this yet?
> >
> > Regards,
> > David
> >
> > -----Original Message-----
> > From: Nadia Kunkov [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, October 13, 2004 12:46 PM
> > To: Struts Users Mailing List
> > Subject: RE: Newbie <html:errors/> never displays errors
> >
> >
> > Here is my jsp:
> > ......
> > .....
> > <form:submit property="method" value="Add"></form:submit>
> > </form:form>
> >
> > <logic:messagesPresent>
> > <ul>
> > <html:messages id="error" >
> > <li><bean:write name="countryName"/></li>
> > </html:messages>
> > </ul>
> > </logic:messagesPresent>
> >
> > </body>
> > </html:html>
> >
> > Thanks for your help
> >
> > -----Original Message-----
> > From: David G. Friedman [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, October 13, 2004 12:35 PM
> > To: Struts Users Mailing List
> > Subject: RE: Newbie <html:errors/> never displays errors
> >
> >
> > Please show your JSP code. I think this should have worked:
> >
> > <logic:messagesPresent>
> > <ul>
> > <html:messages id="error" name="countryName">
> > <li><bean:write name="error"/></li>
> > </html:messages>
> > </ul>
> > </logic:messagesPresent>
> >
> > Remember, the "id" is essentially the key you give to the
> > bean:write but the
> > name="" attribute is what messages key to retrieve. That
> > name="" attribute
> > defaults to the global errors word if you don't specify
> anything else.
> >
> > Regards,
> > David
> >
> > -----Original Message-----
> > From: Nadia Kunkov [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, October 13, 2004 12:31 PM
> > To: Struts Users Mailing List
> > Subject: RE: Newbie <html:errors/> never displays errors
> >
> >
> > Thanks
> > Did that and specified the write bean name this time.
> > <li><bean:write name="countryName"/></li>
> > Now I get an error that bean countryName doesn't exist in any scope.
> > I get a feeling it's something with my message resources.
> >
> > How can I see that the following line works.
> > errors.add("countryName", new ActionError("errors.required","Country
> > Name"));
> >
> > Thanks
> > Nadia
> >
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, October 13, 2004 11:32 AM
> > To: [EMAIL PROTECTED]
> > Subject: RE: Newbie <html:errors/> never displays errors
> >
> >
> > Hi Nadia,
> > Use this to write your message :
> >
> > <logic:messagesPresent>
> > <ul>
> > <html:messages id="error">
> > <li><bean:write name="error"/></li>
> > </html:messages>
> > </ul>
> > </logic:messagesPresent>
> >
> > <bean:write> will write error message who are call in your
> > validate method
> > and <logic:messagesPresent> will check if these message are present.
> >
> > Charles Gouin-Vallerand
> >
> > -----Original Message-----
> > From: Nadia Kunkov [mailto:[EMAIL PROTECTED]
> > Sent: October 13, 2004 11:16 AM
> > To: Struts help (E-mail)
> > Subject: Newbie <html:errors/> never displays errors
> >
> >
> > Hi,
> >
> > I have gone through multiple postings and followed the
> > suggestions about
> > displaying the errors. I just need another pair of eyes to
> > look at this,
> > I'm probably missing something.
> >
> > I can't display errors on the page. I know that I go through
> > the validate
> > method and it finds errors because I'm not moving to the next
> > page when I do
> > a submit. If I have an error I want to stay on the same page
> > and let the
> > user resubmit. I do stay on the same page but under the form
> > I want error
> > messages to be displayed and they are never there. Please
> take a look
> > below.
> >
> > I have this in my MyAppResources.properties which resides in
> > /WEB-INF/classes directory
> > errors.required={0} is required.
> >
> > in my struts-config.xml I have
> > validate="true"
> >
> > and also
> > <message-resources
> > parameter="MyAppResources"
> > null="false"/>
> >
> > In my ActionForm I have the following in the Validate method:
> >
> >
> >
> > In my jsp file I have the following
> > .....some stuff......
> >
> > <form:submit property="method" value="Add"></form:submit>
> > </form:form>
> > <html:errors/>
> > </body>
> > </html:html>
> >
> >
> >
> >
> ---------------------------------------------------------------------
> > 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]
>
>
> ---------------------------------------------------------------------
> 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]