如何在使用prime faces消息标记时显示自定义验证消息?
假设我有一个名为Description
的字段,我希望得到这样的消息:
描述:请输入值。
这里的描述是字段名称,所以我真正的要求是
formId:inputId:请输入值。
但目前我得到了这个:
描述:验证错误:值是必需的。
我的代码:
<p:messages id="message" />
<p:inputText id="updatedescription" value="#{equipTemplateBean.equipmentSpecificationsVO.description}" requiredMessage="Please enter Description" required='true'
</p:inputText>
请建议如何执行此操作。
答案 0 :(得分:7)
请考虑显示自定义错误消息的最小示例&#34;此字段是必填字段。&#34;提交时为空:
<强> page.xhtml 强>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui">
<f:view>
<h:head/>
<h:body>
<h:form>
<p:inputText id="input"
required="true"
requiredMessage="This field is required."/>
<p:message for="input"/>
<p:commandButton process="input"
update="@form"/>
</h:form>
</h:body>
</f:view>
</html>
答案 1 :(得分:0)
正如您在mojarra repo文件中看到的那样:jsf-api/src/main/java/javax/faces/Messages.properties,第80行,您获得的验证消息由此属性定义:
javax.faces.component.UIInput.REQUIRED={0}: Validation Error: Value is required.
您可以创建自己的消息属性文件来覆盖primefaces默认键,一个put:
javax.faces.component.UIInput.REQUIRED={0}: Please enter value.
因为这是你想要的信息。
要使用此属性文件,请配置JSF的上下文文件,添加application
xml节点,如下所示:
<application>
<message-bundle>path.to.your.PropertiesMessageFile</message-bundle>
</application>
希望它有所帮助!