2012-12-04 1 views
1

내 페이지에서 "저장"을 클릭하면 유효성을 도입 한 후에 아무 반응이 없습니다. 페이지에 "저장"및 "취소"가 있습니다. "immediate = true"를 단추를 취소하기 위해 넣으므로 유효성 검증이 수행되지 않고 가정 한대로 이전보기로 돌아갑니다. 저장을 클릭하면 유효성 검사가 수행되고 오류가 올바르게 표시되지만 데이터를 처리하고 이전 페이지로 돌아가는 대신 올바른 입력을 입력하면 (유효성 검사에 오류가 발생하지 않음) 발생합니다 ...효과가없는 빈 검증

나는 무엇인가 놓친다? 여기

일부 코드 조각 :

보기 :

<f:metadata> 
    <f:viewParam name="mode" value="#{roomDetailController.model.mode}"/> 
    <f:viewParam name="dbId" value="#{roomDetailController.model.dbId}"/> 

    <f:event listener="#{roomDetailController.processCommand}" type="preRenderView"/> 
</f:metadata> 

... 

<tr> 
    <td> 
    <h:outputLabel value="#{msg.roomFormFieldRoomName}:"/> 
    </td> 
    <td> 
    <h:inputText id="roomName" value="#{detailModel.afterObject.roomName}" disabled="#{detailModel.mode == detailModel.viewMode}"> 
     <f:validateBean/> 
    </h:inputText> 
    <h:message for="roomName" style="color:red"/><br/> 
    </td> 
</tr> 
<tr> 
    <td> 
    <h:outputLabel value="#{msg.roomFormFieldRoomIPs}:"/> 
    </td> 
    <td> 
    <h:inputText id="roomIPs" value="#{detailModel.afterObject.roomIPs}" disabled="#{detailModel.mode == detailModel.viewMode}"> 
     <f:validateBean/> 
    </h:inputText> 
    <h:message for="roomIPs" style="color:red"/><br/> 
    </td> 
</tr> 

... 

<!-- SUBMIT BUTTON --> 
<h:commandButton 
    styleClass  = "waiButton" 
    value   = "#{commonButtonSubmit}" 
    action   = "#{detailController.submitAction()}" 
    rendered  = "#{detailModel.mode != detailModel.viewMode}" 
/> 

<!-- CANCEL BUTTON --> 
<h:commandButton 
    styleClass = "waiButton" 
    value  = "#{commonButtonCancel}" 
    action  = "#{detailController.cancelAction()}" 
    immediate = "true" 
    rendered = "#{detailModel.mode == detailModel.cancelMode or detailModel.mode == detailModel.editMode or detailModel.mode == detailModel.multiEditMode or detailModel.mode == detailModel.createMode}" 
/> 
... 

는 컨트롤러 :

... 
// Action: "submit" clicked 
public String submitAction() 
{ 
    detailModel.setCommand(DetailModel.Command.SUBMIT); 
    return null; 
} 

// Action: "cancel" clicked 
public String cancelAction() 
{ 
    if (detailModel.getEditMode().equals(detailModel.getMode())) 
    { 
    detailModel.setMode(detailModel.getViewMode()); 
    return null; 
    } 
    else 
    { 
    // Multi Edit Mode 
    return appendUrlParameter(getListViewName(), FACES_REDIRECT_TRUE); 
    } 
} 
... 

당신이 좀 더 정보가 필요하면 알려주세요 ...

+0

죄송합니다. 문제는 유효성 검사와 아무 관련이 없습니다. – Francesco

답변

0

문제 해결 . 말했듯이 그것은 유효성 검사와 관련이 없습니다.