【发布时间】:2011-10-30 15:13:48
【问题描述】:
我需要验证表单中的多个字段,单个字段验证工作正常。 我想知道是否所有字段都是空的,jsf 1.x 和richfaces 3.3 有什么方法可以显示一条消息,例如“所有字段都是必需的”,而不是每个验证消息
【问题讨论】:
标签: validation jsf richfaces
我需要验证表单中的多个字段,单个字段验证工作正常。 我想知道是否所有字段都是空的,jsf 1.x 和richfaces 3.3 有什么方法可以显示一条消息,例如“所有字段都是必需的”,而不是每个验证消息
【问题讨论】:
标签: validation jsf richfaces
您可以拥有一个包含所有错误消息的列表,并且该列表会在提交时填充。
示例:
public String doBid() {
boolean flag=false;
errorMessages = new ArrayList<String>();
if (getUserID().equals("")) {
flag=true;
}
if (getKeyword().equals("")) {
flag=true;
}
if (getNumericBidAmount() == 0.00) {
flag=true;
}
if (getNumericBidDuration() =0) {
flag=true;
}
if (flag==true)
errorMessages.add("all fields are mandatory");
if (errorMessages.size() > 0) {
return(null);
} else {
return("success");
}
14 }
---------
public String getErrorMessages() {
String messageList;
if ((errorMessages == null) ||
(errorMessages.size() == 0)) {
messageList = "";
} else {
messageList = "<FONT COLOR=RED><B><UL>\n";
for(String message: errorMessages) {
messageList = messageList + "<LI>" + message + "\n";
}
messageList = messageList + "</UL></B></FONT>\n";
}
return(messageList);
}
--------------------
<h:form>
<h:outputText value="#{bidBean1.errorMessages}"
escape="false"/>
<TABLE>
<TR>
<TD>User ID:
<h:inputText value="#{bidBean1.userID}"/></TD></TR>
<TR>
<TD>Keyword:
<h:inputText value="#{bidBean1.keyword}"/></TD></TR>
<TR>
<TD>Bid Amount:
$<h:inputText value="#{bidBean1.bidAmount}"/></TD></TR>
<TR>
<TD>Duration:
<h:inputText value="#{bidBean1.bidDuration}"/></TD></TR>
<TR><TH>
<h:commandButton value="Send Bid!"
action="#{bidBean1.doBid}"/></TH></TR>
</TABLE>
</h:form>
【讨论】:
我正在使用 MyFaces Extensions Validator + 一个带有 ProcessedInformationRecorder 的简单插件来完成您所说的操作。
【讨论】: