2013-07-04 2 views
1

저는 o : ignoreValidationFailed를 사용하고 있습니다 만, ui : repeat 내부에서는 작동하지 않습니다. 나가 동일한 외부를 할 때, 그것은 작동한다! 내가 mojarra ans MyFaces로 시도 ... 나는 primefaces를 사용하고 있습니다. 내가 아는하지는 하나 개의 버튼에 대한 검증을 건너 뛸 수있는 또 다른 방법 ...ignoreValidationFailed가 내부에서 작동하지 않습니다. repeat

<o:form id="rateplanEditByPeriod" prependId="false"> 
<p><p:messages id="mensagensDlg"/></p> 

    <p:tabView id="tabs"> 
    <p:tab title="Cancelamento" id="tabCanc"> 
    <h:panelGrid id="cancelationsTable" columns="2" cellpadding="10px" columnClasses="alignTop,alignTop"> 

    <ui:repeat id="repeat" var="rest" value="#{rateplanByPeriodManaged.rateplanByPeriod.restriction.restTypeCancelation.restTypeCanConfs}" > 

             <h:panelGrid columns="8"> 

               <p:inputText id="penaltyValue_#{loop.index}" value="#{rest.penalityValue}" style="width:28px" label="Valor" title="Valor" disabled="#{rest.noCancel}" required="true"/> 


               <p:commandLink id="add_#{loop.index}" actionListener="#{rateplanByPeriodManaged.addCancConf}" update=":rateplanEditByPeriod:tabs:cancelationsTable" partialSubmit="true" process=":rateplanEditByPeriod:tabs:cancelationsTable" value="+"> 
               <o:ignoreValidationFailed /> 
               </p:commandLink> 
               <p:commandLink actionListener="#{rateplanByPeriodManaged.removeCancConf(rest)}" value="-" update=":rateplanEditByPeriod:tabs:cancelationsTable" partialSubmit="true" process=":rateplanEditByPeriod:tabs:cancelationsTable"> 

                <o:ignoreValidationFailed /> 
               </p:commandLink> 



             </h:panelGrid> 

            </ui:repeat> 


           </h:panelGrid> 

          </p:tab> 

         </p:tabView> 

         <p:commandLink styleClass="button" onclick="dlgEdit.hide()" immediate="true" update=":msgsPanel">#{msgs['inventory.editByPeriod.cancel']}</p:commandLink> 
         <p:commandLink styleClass="button" actionListener="#{rateplanByPeriodManaged.editByPeriod(loginManaged.hotelSelected)}" oncomplete="if (!args.validationFailed) {dlgEdit.hide(); updateAllSearches(); updateAllNotifications();}" update="mensagensDlg, tabs" >#{msgs['inventory.editByPeriod.confirm']}</p:commandLink> 


     </o:form> 

답변

2

저도 같은 문제가 있지만 페이지에 직면했다.

required="#{!empty param['trans_desc_form:savetransid']}"/> 

trans_desc_form는 전체 양식 ID입니다 및 savetransid은 제출 버튼 내가이를 만든

@JoinColumn(name = "ITEMNO", referencedColumnName = "ITEMNO") 
@ManyToOne(optional = false, fetch = FetchType.LAZY) 
//@NotNull 
private Item item; 

검증을 강제로 내 JPA 엔티티로부터 @NotNull을 제거 ID를

2를 저장한다 이 문제에 대한 질문 ignoreValidationFailed doesn´t work inside p:dataTable

1

이 경우 경우 키우면 그러나 그것은 나를 위해 일한 최고의 aproach ...

<h: inputText id="text1" value="" required="#{!empty param['formName:btnSave']}" /> 
1

이것은 "취소"버튼을 갖는 올바른 방법이 아닙니다.

는 그냥 <p:commandLink>process="@this"을 넣어, 또는 당신이 어떤 비즈니스 로직을 할 필요가없는 경우, 그것을 페이지를 다시로드 (따라서 암시 적으로 요청 /보기 콩 범위 재현) 정상 <h:link>을합니다.

<o:ignoreValidationFailed>에 관해서는 <ui:repeat>의 오류 자체는 issue을 작성하십시오. @Camilla 말했듯이 아약스가 를 제출 단추에서 오는 여부를 알고 필요한 필드에 조건을 추가 데이터 테이블 내가

1로 해결 :

관련 문제