首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为JSR 303 bean验证提供翻译后的自定义错误消息?

如何为JSR 303 bean验证提供翻译后的自定义错误消息?
EN

Stack Overflow用户
提问于 2012-04-28 03:48:18
回答 1查看 1.9K关注 0票数 4

我的问题基本上和Custom validation message for bean validation一样。然而,我不能解决这个问题。

bean类:

代码语言:javascript
复制
public class PersonalInfoBean {
    @Size(min=5, max=55, message="{invalid_name}")
    String name;
    ...
}

我在Eclipse项目的src文件夹中的一个包中创建了Messages.properties。

代码语言:javascript
复制
invalid_name=Please enter a valid name

我在faces-config.xml中注册了该文件:

代码语言:javascript
复制
<application>
    <message-bundle>com.webage.survey.Messages</message-bundle>
</application>

facelet文件包含:

代码语言:javascript
复制
<h:inputText value="#{personalInfo.name}" id="name"/> <h:message for="name" style="color: red" /><br/>

当我提交表单时,我只看到{invalid_name}作为错误消息,而没有看到“请输入有效名称”。

我在JBoss 6和WebSphere 8上进行了测试,结果相同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-28 03:52:20

您正在将JSR 303 Bean Validation framework与JSF内置验证混合在一起。JSR 303Bean验证框架不是JSF框架的一部分。它是一个完全独立的验证框架,JSF恰好有对它的集成支持。

您需要在不同的属性文件中指定JSR303Bean验证消息,而不是使用可以使用ValidationMessages_xx_XX.properties文件本地化的确切文件名ValidationMessages.properties。这些文件必须放在类路径的根目录中。

您不需要在faces-config.xml中注册它。<message-bundle>仅用于required="true"<f:validateRegex><f:convertDateTime>等JSF内置转换器和验证器。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10356949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档