2012-08-08 41 views
5

Tôi có trang mà tôi chỉnh sửa một số thực thể. Trang đó có hai nút lệnh. Một là "Quay lại" và một là "Lưu" và cũng trên trang đó tôi có biểu mẫu với các trường nhập (idInputSubject). Một số trong số đó là bắt buộc, một số thì không.Bỏ qua xác thực trên lệnhButton press

Làm cách nào để đảm bảo rằng chúng tôi nhấn nút "Quay lại" (hủy chỉnh sửa và quay lại) xác thực sẽ bị bỏ qua, hiện không phải là trường hợp này. Bây giờ, khi tôi nhấn thông báo xác thực của nút "Quay lại" hoặc "Lưu" xuất hiện nếu tôi không điền yêu cầu được đệ trình với các giá trị chính xác (idInputSubject).

Cả hai "Back" và "Lưu" nút ở dạng tương tự:

<h:form id="idFormMeasureDetail" styleClass="bodyForm" prependId="false"> 
    ... 
    <p:commandButton value="#{contentMB.msg.label_back.value}" 
     action="#{chooseMeasureControllerMB.aSearch}" 
     rendered="#{detailMeasureMB.navigation eq 0}" ajax="false" 
     icon="ui-icon-arrowreturnthick-1-w"/> 
    <p:commandButton value="#{contentMB.msg.button_save.value}" ajax="false" 
     icon="ui-icon-disk" actionListener="#{detailMeasureControllerMB.alApplyChanges}" 
        title="#{contentMB.msg.tip_Apply.value}" /> 

    ... 
    <p:inputTextarea id="idInputSubject" value="#{detailMeasureMB.measure.aufgabe}" 
    readonly="#{!userSessionMB.supervisor and !detailMeasureMB.isCreator}" 
    required="#{globalSessionMB.globalWebOptionsMap['MMRequiredSubject'].propvalue}" 
      title="#{contentMB.msg.tip_Betreff.value}" 
      autoResize="false" style="width:100%;" > 
    </p:inputTextarea> 
    <p:message id="inputSubjectMsg" for="idInputSubject" display="icon" /> 
    ... 

</h:form> 

ChooseMeasureControllerMB:

@ManagedBean(name = "chooseMeasureControllerMB") 
@RequestScoped 
public class ChooseMeasureControllerMB extends BaseMeasureControllerMB { 
... 
public String aSearch() { 
      ... 
    // navigate to target-page 
    return "/pages/mm/showMeasuresList.xhtml?faces-redirect=true"; 
} 
... 
} 

Trả lời

0

Nói tóm lại, khi bạn nhấn vào nút "trở lại", bạn gửi mẫu và các dữ liệu được xác nhận. Để ngăn chặn điều này, hãy đặt nút ở dạng khác hoặc sử dụng tập lệnh Java cho điều hướng.

Nói chung, khi bạn muốn hủy một thao tác bạn không muốn gửi dữ liệu, vì nó sẽ bị hủy. Sử dụng một số hành động phía máy khách. Tôi nghĩ bạn cũng có thể sử dụng số <p:commandButton> hoặc <p:button> để điều hướng. Bằng cách này, biểu mẫu không được gửi.

Các vấn đề liên quan