将默认消息“验证错误:需要值”更改为“需要值”
Posted
技术标签:
【中文标题】将默认消息“验证错误:需要值”更改为“需要值”【英文标题】:Change the default message "Validation Error: Value is required" to just "Value is required" 【发布时间】:2012-02-27 15:59:56 【问题描述】:我可以修改这个默认的required="true"
验证消息以仅显示“需要值”吗?
formId:inputId: 验证错误:值是必需的。
【问题讨论】:
【参考方案1】:要么使用输入组件的requiredMessage
属性:
<x:inputXxx ... required="true" requiredMessage="Value is required" />
或者在包含自定义消息模板的类路径中创建一个属性文件:
javax.faces.component.UIInput.REQUIRED = Value is required.
并在faces-config.xml
中注册为消息包:
<application>
<message-bundle>com.example.CustomMessages</message-bundle>
</application>
上面的例子假设文件名是CustomMessages.properties
并且被放在com.example
包中。您可以命名并将其放置在您想要的任何位置。
您可以在the JSF specification 的第 2.5.2.4 章中找到所有消息键的概述,例如javax.faces.component.UIInput.REQUIRED_detail
,以防您使用它们。
【讨论】:
嗨 BalusC,我检查了 download.oracle.com/otndocs/jcp/jsf-2.0-fr-eval-oth-JSpec 和 download.oracle.com/otndocs/jcp/jsf-2.0-fr-full-oth-JSpec 是否相同(EVAL 与 IMPL),可能有错误吗? 没有。一些 API 对此有单独的文档。最终用户(阅读:我们,开发人员)应该只阅读“评估”规范。实现者(如 Mojarra 和 MyFaces)应该阅读“实现”规范。但是对于 JSF 规范来说确实没有什么不同。 嗨 BalusC,我真的可以用这种方式覆盖 Apache Common Validator 的消息吗? myfaces.apache.org/commons12/myfaces-validators12/tagdoc.html @BalusC 我可以将此自定义消息国际化吗?我将 javax.faces.component.UIInput.REQUIRED 放在我的国际化 JSF 属性中,但它不显示此消息,而是显示默认消息(设计:验证错误:需要值。) @BalusC 除了被覆盖的 JSF 消息之外,我的所有国际化消息都处理得很好。你知道为什么会发生这种情况吗?【参考方案2】:我想我明白了。
添加标签:
<p:inputText id="hotelName" value="#editHotelBackingBean.hotel.name" required="true" label="#labelResource.hotelName">
现在看起来像这样:
酒店名称:验证错误:必填项。
【讨论】:
以上是关于将默认消息“验证错误:需要值”更改为“需要值”的主要内容,如果未能解决你的问题,请参考以下文章
动态数据显示 WPF 将 ChartPlotter 的默认行为更改为移动而不是缩放
使用 JWT 进行护照身份验证:如何将护照的默认未经授权响应更改为我的自定义响应?
将 TEXT 列默认值从 null 更改为 ''(空字符串)