2010-03-31 26 views
4

我在Web表单上使用Struts2验证。在字段假设为整数或日期的情况下,我收到的<s:fielderror>消息是一个通用的Invalid field value for field "[fieldname]"当然,我想为用户定制这个。如何在无效字段值的情况下更改Struts2验证错误消息?

下面是一个例子验证:

<field name="spouseDOB"> 
    <field-validator type="date"> 
     <message>"Spouse Date of Birth" is invalid.</message> 
    </field-validator> 
    <field-validator type="date"> 
     <param name="min">01/01/1900</param> 
     <message>"Spouse Date of Birth" must be after 1900 AD.</message> 
    </field-validator> 
</field> 

消息"Spouse Date of Birth" is invalid.从不出现,对于我曾尝试任何无效的日期。输出是通用的Invalid field value for field spouseDOB

spouseDOB是动作类中的java.util.Date对象。它由JSP中的<s:textfield>设置。

+0

那么,至少我得到了Tumbleweed坏ge为此。 。 。 – 2010-04-07 20:08:13

回答

-1

那么它的缺失</message>一件事

+0

我很确定这个错误在实际的代码中不存在。 – 2010-05-07 19:02:21

8

在你ApplicationResources.properties文件,插入

invalid.fieldvalue.spouseDOB = "Spouse Date of Birth" is invalid. 

如果没有这个文件,看看this

+0

我无法验证这个答案是否能够从去年解决这个问题。 – 2011-02-07 21:51:17

+0

对不起,在google上看到它,只是冲动地回答:[ – yuudachi 2011-02-08 06:00:57

+0

yuudachi,供参考这个答案是现货。 invalid.fieldvalue.XXX(XXX是fieldName)是覆盖默认的conversionValidation错误消息所需的消息资源密钥! – Mutmatt 2012-08-02 20:06:12

0

做一个性质相同的包文件在您的动作类定义

"youactionclassname.properties"文件,并添加错误吧,

"invalid.fieldvalue.yourfiledname = as you want for error ",并做下。

  1. 将它保存
  2. 并重新启动服务器
  3. 运行
现在

你可以看到,错误是定制....

告诉我,如果作品

好运气

+0

近五年前我问过这个问题!我之后多次更换工作,并且无法访问相关代码。 – 2015-02-12 11:19:48

相关问题