使用 Java 在 XPage 中进行验证

Validation in XPages with Java

我在 Java 中设置了一个验证器 bean,我可以在其中执行以下操作:

public void validateStatus(FacesContext facesContext, UIComponent component, Object value) {
    if (value.toString().equals("Fail")) {
        FacesMessage message = new FacesMessage("Invalid value!");
        throw new ValidatorException(message);
    }
}

和 XPage:

<xp:comboBox
    id="Status"
    validator="#{validatorsBean.validateStatus}">
</xp:comboBox>
<xp:message
    id="message2"
    for="Status">
</xp:message>

效果很好。但是,我还想执行一些验证逻辑并在与特定字段无关的 <xp:messages> 控件中显示错误消息。有没有一种方法可以在我的验证器 bean 中完成此操作?感谢您的任何提示。

替换行

throw new ValidatorException(message);

((UIInput)component).setValid(false);
facesContext.addMessage(component.getClientId(facesContext), message);