Customize Spring Error Message

Mark Estrada picture Mark Estrada · Jul 17, 2010 · Viewed 8.7k times · Source

I want to change the default error messages being thrown by Spring.

I basically have this form. Format of the date should follow "mm/dd/yyyy"

<p>
    <label class="label">Start Date</label>
    <form:input path="dteStartDate" /> 
    <form:errors path="dteStartDate"/>
</p>

Everything works fine, but during binding I get this message added by the form:error tag.

Failed to convert property value of type [java.lang.String] to required type [java.util.Date] for property dteStartDate; nested exception is java.lang.IllegalArgumentException:

Could not parse date: Unparseable date: "2010/11/19"

Can I customize this? So that instead of these I could show something like this:

Invalid Date Format. Format should be "mm/dd/yyyy"

This is Spring MVC 2.5.

Answer

axtavt picture axtavt · Jul 17, 2010

You need to define a MessageSource to resolve error code to the message. Error codes are built as described here (so you'll have typeMismatch.<objectName>.dteStartDate).