验证JSF 2中多个输入文本的总和

时间:2015-10-28 13:07:07

标签: jsf-2.2

我的xhtml中有三个输入文本,我想检查这三个字段的总和是否等于100.在我的情况下验证多个字段的最佳方法是什么?是否可以使用验证器?

1 个答案:

答案 0 :(得分:0)

...
<h:inputHidden id="inputhiddenId" value="true" validator="#{managedBean.checkSum}"/>
<h:message for="inputhiddenId" style="color: red"/>
...

@ManagedBean
@ViewScoped
public class ManagedBean implements Serializable {
...

    public void checkSum(FacesContext context, UIComponent component, Object value) {
        double val = filed1 + field2 + field3;
        if (val != 100.0) {
            FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error",
                "Sum of fields must be equal to 100");
            throw new ValidatorException(msg);
        }
    }
}

解决了我的问题。

但是field1,field2和field3的<h:inputText ...个组件也必须包含<f:ajax .../>