PrimeFaces/JSF 2.0
当您使用 p:message.... 并说您的 outputText 具有 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 的方法?它肯定不在构造函数中。