You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Matt Bathje <mp...@ntsource.com> on 2004/10/01 00:40:25 UTC

Re: Error Message for Struts Validation

I've never used the <msg> attribute myself, but I think when you do, you 
need to specify the key, and a name attribute for which validation the 
message applies to. So in your case it would be:

<msg name="required" key="request.page" />

You may also need to specify a bundle and resource attribute, but I 
don't think so in your case.

The error message you are seeing (null is required) is from the default 
error message. When you use the default error message, you need to 
specify replacement values for the error message template. If you look 
in your application.properties, you should have a bunch of errors.XXXX 
lines, for each standard validator. For example, you should have a line 
like:

errors.required={0} is required.

for the required validator. The {0} is what needs a replacement. To 
define it in your validator, you use:

<arg0 key="request.page" />
OR (for struts 1.2.x)
<arg key="requst.page" position="0" />

In these cases though, request.page should be defined in 
application.properties as:

request.page=Page

then, when the error prints, it will print as "Page is required."

For me at least, this is a lot more handy than using <msg>, because you 
can use the same label to print out the prompt and the error message.

Hopefully I explained this well enough...

Matt



Caroline Jen wrote:

> I use the validation.xml to validate the properties in
> my form bean.  The validation works; but, the error
> messages do not work as I expected.
> 
> While I have customized error messages prepared, the
> error message displayed in the browser window for my
> intentional violation are like:
> . null is required
> . null is required
> 
> I also wonder how to show error messages if there are
> more than one validation check for a certain property.
>  For example, depends="required,mask".
> 
> For example, in my validation.xml, I have:
> [CODE]
>       <form name="editTitleForm">
>          <field
>             property="document"
>             depends="required">
>                <msg key="request.page"/>
>          </field>
>          <field
>             property="title"
>             depends="required">
>                <msg key="insert.title"/>
>          </field>
>       </form>
> [/CODE]
> 
> In my web.xml, I have:
> [CODE]
>   <init-param>
>     <param-name>application</param-name>
>     <param-value>resources.application</param-value>
>   </init-param>
> [/CODE]
> 
> and the application.properties file is in the
> C:\jakarta-tomcat-5.0.27\webapps\AppName\WEB-INF\classes\resources
> directory.
> 
> In the application.properties, I have:
> 
> [CODE]
> request.page=The requested page is not provided.
> insert.tile=The title of the requested page must not
> be left blank.
> [/CODE]
> 
> 
> 		
> _______________________________
> Do you Yahoo!?
> Declare Yourself - Register online to vote today!
> http://vote.yahoo.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Error Message for Struts Validation

Posted by Caroline Jen <ji...@yahoo.com>.
Thanks for your help.  The explanation is very clear.
--- Matt Bathje <mp...@ntsource.com> wrote:

> I've never used the <msg> attribute myself, but I
> think when you do, you 
> need to specify the key, and a name attribute for
> which validation the 
> message applies to. So in your case it would be:
> 
> <msg name="required" key="request.page" />
> 
> You may also need to specify a bundle and resource
> attribute, but I 
> don't think so in your case.
> 
> The error message you are seeing (null is required)
> is from the default 
> error message. When you use the default error
> message, you need to 
> specify replacement values for the error message
> template. If you look 
> in your application.properties, you should have a
> bunch of errors.XXXX 
> lines, for each standard validator. For example, you
> should have a line 
> like:
> 
> errors.required={0} is required.
> 
> for the required validator. The {0} is what needs a
> replacement. To 
> define it in your validator, you use:
> 
> <arg0 key="request.page" />
> OR (for struts 1.2.x)
> <arg key="requst.page" position="0" />
> 
> In these cases though, request.page should be
> defined in 
> application.properties as:
> 
> request.page=Page
> 
> then, when the error prints, it will print as "Page
> is required."
> 
> For me at least, this is a lot more handy than using
> <msg>, because you 
> can use the same label to print out the prompt and
> the error message.
> 
> Hopefully I explained this well enough...
> 
> Matt
> 
> 
> 
> Caroline Jen wrote:
> 
> > I use the validation.xml to validate the
> properties in
> > my form bean.  The validation works; but, the
> error
> > messages do not work as I expected.
> > 
> > While I have customized error messages prepared,
> the
> > error message displayed in the browser window for
> my
> > intentional violation are like:
> > . null is required
> > . null is required
> > 
> > I also wonder how to show error messages if there
> are
> > more than one validation check for a certain
> property.
> >  For example, depends="required,mask".
> > 
> > For example, in my validation.xml, I have:
> > [CODE]
> >       <form name="editTitleForm">
> >          <field
> >             property="document"
> >             depends="required">
> >                <msg key="request.page"/>
> >          </field>
> >          <field
> >             property="title"
> >             depends="required">
> >                <msg key="insert.title"/>
> >          </field>
> >       </form>
> > [/CODE]
> > 
> > In my web.xml, I have:
> > [CODE]
> >   <init-param>
> >     <param-name>application</param-name>
> >    
> <param-value>resources.application</param-value>
> >   </init-param>
> > [/CODE]
> > 
> > and the application.properties file is in the
> >
>
C:\jakarta-tomcat-5.0.27\webapps\AppName\WEB-INF\classes\resources
> > directory.
> > 
> > In the application.properties, I have:
> > 
> > [CODE]
> > request.page=The requested page is not provided.
> > insert.tile=The title of the requested page must
> not
> > be left blank.
> > [/CODE]
> > 
> > 
> > 		
> > _______________________________
> > Do you Yahoo!?
> > Declare Yourself - Register online to vote today!
> > http://vote.yahoo.com
> > 
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> user-unsubscribe@struts.apache.org
> > For additional commands, e-mail:
> user-help@struts.apache.org
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> user-unsubscribe@struts.apache.org
> For additional commands, e-mail:
> user-help@struts.apache.org
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org