JSF 1.x中多个字段的验证



我需要验证表单中的多个字段,单个字段验证工作正常。我想知道是否所有字段都是空的,JSF 1有什么办法。X和richfaces 3.3显示单个消息,如"所有字段都是强制性的",而不是每个验证消息

您可以有一个包含所有错误消息的列表,并且该列表在提交时填充。

的例子:

    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来做你正在谈论的事情。

相关内容

  • 没有找到相关文章

最新更新