Spring MVC自定义转换错误信息

时间:2014-09-08 13:43:36

标签: java spring spring-mvc

以下是我的JSP的一部分:

<fieldset data-role="fieldcontain">
  <label id="labelForDob" for="dob">Date of birth (dd/mm/yyyy)</label>
  <form:input path="dob" cssErrorClass="errorField" />
  <form:errors path="dob" cssClass="errorMessage" />
</fieldset>

以下是我的表单bean的一部分:

    @DateTimeFormat(pattern = "dd/MM/yyyy")
    @NotNull
    @Past(message = "enter a past date in the format of dd/mm/yyyy")
    private Date dob;

当我输入错误格式的字符串(无法转换为日期)时,会显示转换错误消息(参见下图):

enter image description here

如何自定义此讯息? (例如“您的输入无法转换为日期”)

1 个答案:

答案 0 :(得分:0)

他们有四种选择:

  1. 而不是使用日期的输入文本。始终使用日期类型字段作为日期。您可以使用
     &LT; input type =“date”text =“dateOfBirth”pattern =“dd / MM / yyyy”&gt;&lt; /输入&GT; 因此,该使用可以选择仅从日历中选择日期。

  2. 您可以在输入框的模糊事件上编写javascript,这样当用户离开该字段时,您可以提示他输入当前日期。

  3. 您可以在javascript中使用正则表达式来检查模式。

  4. 您可以将正则表达式放在输入类型本身中,如: 图案= “\ d {1,2} / \ d {1,2} / \ d {4}”