我想仅在用户未在给定的p:inputText字段中输入任何值时验证以下数据表
<p:dataTable id="depositDataTable" value="#{pc_intimationDeposit.pendingRep.depositeBeans}" var="deposit">
<p:column style="text-align:right">
<h:outputText value="#{deposit.depParticulars}" />
</p:column>
<p:column id="value">
<h:inputText id="depositDetails" class="right_input" value="#{deposit.amnt}" tabindex="2" converterMessage="Please Enter Numbner's Only" validatorMessage="please">
<f:convertNumber pattern="##,####,##0.00" for="depositDetails" type="currency" />
</h:inputText>
<p:message id="errMsgDepositDetails" for="depositDetails" display="text"></p:message>
</p:column>
</p:dataTable>
pc_intimationDeposit.pendingRep.depositeBeans ----&GT;是depositBeans的列表(大小3)
我使用过f:convertNumber表示输入的值符合我们的要求
但是如果用户没有输入A SINGLE VALUE,那么我需要验证null检查 即,用户必须输入任何一个字段
我需要在使用的数据表上显示错误消息
请帮帮我 谢谢你提前
答案 0 :(得分:1)
required=true
。如果您只想填写其中一个,请按照您的操作方法, 迭代你的模型以确保至少有一个不为空(你不应该在这里有空值):
boolean filled = false;
for (DepositeBean dep : depositeBeans){
if (!dep.getAmnt.equals("")){
filled = true;
}
}
if (!filled){
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_ERROR, "You have to fill at least one deposit detail field", null));
}
要显示消息,请添加h:message
标记并将其指向您的表格:
<h:message for="depositDataTable" style="color:red" />