2011-08-19 4 views
1

양식의 여러 필드의 유효성을 검사해야하므로 개별 필드 유효성 검사가 올바르게 작동합니다. 모든 필드가 비어 있는지 알고 싶습니다. jsf 1.x 및 richfaces 3.3에서 각 유효성 검사 메시지 대신 "모든 필드가 필수"와 같은 단일 메시지를 표시하는 방법이 있습니다.jsf 1.x에서 여러 필드의 유효성 확인

답변

0

저는 MyFaces Extensions Validator + 당신이 말하는 것을 정확히하기위한 ProcessedInformationRecorder가있는 간단한 플러그인.

+0

덕분에 ... 당신이 몇 가지 예제 코드를 줄 수 있을까? – user902490

+0

불행히도 그것은 구성 요소 라이브러리에 깊이 통합되어 있습니다. 그러나 그렇게 어렵지 않아야합니다. Source-Code를 살펴보고 lib가 Cross-Validation을 위해 내부적으로 ProcessedInformationRecorder를 사용하는 방법을 살펴보십시오. 맞춤 마커 주석으로 모든 값을 수집하고 컨텍스트 (또는 자신의 컨텍스트)에 추가하고 위상 수신기에서 (유효성 검사 단계 후) 컨텍스트를 확인하고 메시지를 추가하고 FC.renderResponse를 호출하면됩니다. IMHO 그들의 메일 링리스트는 정보를 얻을 수있는 좋은 원천입니다. 막히거나 모든 것이 어떻게 작동하는지 알지 못한다면. 하지만 어렵지 않아야합니다. –

1

모든 오류 메시지를 포함하는 하나의 목록을 가질 수 있으며 목록은 채워집니다.

예 : 답장을 보내

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> 
+0

나는 validator 메소드로 프론트 엔드에 validator 속성을 설정하여 단일 필드 유효성 검사를하고있다. 유효성 검사기 메서드를 사용하여 ur 논리를 구현할 수 있습니까? – user902490