我的xhtml中有三个输入文本,我想检查这三个字段的总和是否等于100.在我的情况下验证多个字段的最佳方法是什么?是否可以使用验证器?
答案 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 .../>
。