Tôi có trường nhập yêu cầu trong một p:dialog
. Nếu trước hết tôi không gửi gì cho trường, lỗi xác thực sẽ xảy ra trên trường đó. Sau đó, tôi đóng hộp thoại và mở lại, lỗi xác thực vẫn tồn tại. Tôi có thể làm gì để loại bỏ lỗi xác thực khi đóng hộp thoại?Làm thế nào để xóa xác thực không thành công trong hộp thoại khi mở lại hộp thoại
9
A
Trả lời
1
tôi đã có thể để tái tạo trường hợp của bạn và bạn có thể làm như sau:
- Hãy thoại
closable="false"
của bạn. - Thêm một nút
Cancel
sẽ ẩn hộp thoại. - Thêm thành phần resetInput từ Primefaces Tiện ích mở rộng bên trong nút Hủy. Thao tác này sẽ xóa các xác thực và giá trị của biểu mẫu.
Dưới đây là ví dụ giả định hộp thoại của bạn là widgetVar
có tên wvDialog
.
<p:commandButton value="Cancel" immediate="true" onclick="wvDialog.hide()">
<pe:resetInput for="myDialogFormId />
</p:commandButton>
Bạn thậm chí có thể gọi phương thức đậu trong nút actionListener
nếu cần.
Tôi hy vọng điều đó sẽ hữu ích.
0
Cập nhật p:dialog
hoặc p:message
mỗi khi bạn gửi Biểu mẫu.
Bạn có thể làm điều đó bằng cách sử dụng cập nhật thuộc tính của p:commandButton
.
<p:commandButton update="ID_OF_DIALOG" />
7
Bạn nên sử dụng p:resetInput
trên phần tử mà bạn phải mở hộp thoại.
Ví dụ, nếu bạn sử dụng một p:commandButton
<p:commandButton value="Open dialog" update=":dialogId" oncomplete="PF('dialogWidget').show()" >
<p:resetInput target=":dialogId" />
</p:commandButton>
này sẽ thiết lập lại các giá trị được lưu trữ (bao gồm cả các thông điệp xác nhận) khi mở hộp thoại.
Cảm ơn câu trả lời tuyệt vời! Nút Tôi thực sự muốn có một nút đóng trên góc trên bên phải ...... – ethanjyx
Tôi có một nút * Hủy * trên trang của tôi với 'oncomplete = 'PF (" wvDialog "). Hide();''. Nhưng vẫn còn khi tôi mở hộp thoại, nó hiển thị thông báo lỗi ở đó. –