PrimeFaces/JSF 2.0
当你使用p:message....并且假设您的outputText has required="true",如果用户将字段留空,则会在字段右侧显示消息中的错误图标。
<!-- NAME -->
<p:panelGrid styleClass="noBorders" columns="2" columnClasses="inputText" style="width:600px">
<h:inputText id="Name" size="60" maxlength="70" required="true" styleClass="#{not component.valid ? 'ui-input-invalid' : ''}" style="width: 300px" value="#{tinRequestBean.name}" >
<f:validator validatorId="gov.irs.eservices.tm.validations.NameValidator" />
</h:inputText>
<p:message for="Name" display="default" style="color: red" />
</p:panelGrid>
但是,如果您使用Validator以某种方式检查字段的内容,则标准的FacesMessage,即使使用FacesMessage。SEVERITY_ERROR,错误图标不显示
if (msgStr.length() > 0) {
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "TIN: Validation error: " msgStr, null);
throw new ValidatorException(msg);
}
有没有人知道一种方法来创建一个带有图标的FacesMessage ?它当然不在构造函数中。
在<p:message/>
上设置display="both"
(或者干脆不设置该属性,both
是默认值)。这将同时显示文本和图标。据我所知,default
不是一个有效的选项