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