Có cách nào tôi có thể xác thực văn bản đầu vào jsf chỉ đọc được không nhưng giá trị được thay đổi khi một số sự kiện khác được kích hoạt?jsf (richfaces) xác thực văn bản đầu vào chỉ đọc
Trả lời
Tôi đã giải quyết vấn đề này với một giải pháp thay thế. Tôi đã thêm một trường inputHidden
rằng có required
thuộc tính true
đó sẽ không xuất hiện trên giao diện, nhưng sẽ được xác nhận:
<h:inputHidden value="#{bean.value}" required="true"
requiredMessage="Data must be entered" />
Giá trị của bean.value được thay đổi bởi sự kiện khác, và tại một số reRender trên inputHidden, quá trình xác thực diễn ra.
Bạn rất có thể phải tự gọi logic xác thực trực tiếp từ sự kiện của mình. Đây là một mô hình của vòng đời JSF của IBM.
Bạn sẽ nhận thấy rằng quá trình validations giai đoạn xảy ra trước giai đoạn Invoke Application nơi các sự kiện thường được xử lý. Điều này xảy ra tốt sau khi quá trình xác thực sẽ không xảy ra tự động.
Trả lời từ nhận xét: "Thật dễ dàng để xác thực nó trong trang sao lưu trang jsf?" Bạn có thể thực hiện xác thực cấp ứng dụng bằng cách nhấp vào nút hoặc một số sự kiện tương tự. Bạn có thể làm một cái gì đó như thế này trong đậu ủng hộ của bạn và liên kết nó với sự kiện này.
public String login(){
FacesContext context = FacesContext.getCurrentInstance();
if(**<<some validation for value in field 'firstName' in form 'userForm'>>**){
FacesMessage message = new FacesMessage();
message.setSeverity(FacesMessage.SEVERITY_ERROR);
message.setSummary("Some Valication check");
message.setSummary("Some Valication check!!");
context.addMessage("userForm:firstName", message);//adds validation message for field firstName in form userForm
return "ERROR";
}
return "SUCCESS";
}
Hy vọng điều này sẽ hữu ích.
JSF sẽ không cập nhật giá trị mô hình cho đầu vào 'readonly =" true "'. Ngoài ra, làm valdation bên trong một phương thức hành động thay vì bên trong một validator bình thường là một thực hành kém. – BalusC
@BalusC Cảm ơn bạn đã thông tin :) Tôi không biết rằng thiết lập readonly = "true" cho đầu vào sẽ không cập nhật giá trị mô hình. Để thực hiện xác thực bên trong một hành động, tôi biết đó không phải là thực tiễn tốt nhất nhưng tôi nghĩ rằng chúng tôi không thể thêm trình xác nhận hợp lệ cho đầu vào chỉ đọc. – Richie
Đặt thuộc tính readonly
thành true
chỉ trong giai đoạn phản hồi kết xuất. Bằng cách này, nó sẽ không được xem là chỉ đọc trong tất cả các giai đoạn khác so với pha phản hồi kết xuất.
<h:inputText ... readonly="#{facesContext.currentPhaseId.ordinal eq 6}" />
Trong trường hợp của tôi '# {facesContext.renderResponse} trả về false khi vẽ HTML (đã in nó ở giữa nó). Dù sao, nó hoạt động như '# {facesContext.currentPhaseId.ordinal eq 6}'. Mojarra 2.1.9. – SJuan76
- 1. JSF/RichFaces: kiểu dáng văn bản có điều kiện
- 2. JSF, RichFaces, pagination
- 3. Xác thực biểu mẫu; Nhận tất cả "loại đầu vào = văn bản" và xác thực?
- 4. Cú pháp thuộc tính chỉ đọc chính xác cho các phần tử văn bản đầu vào là gì?
- 5. Richfaces không được xác định lỗi javascript
- 6. jsf đầu ra định dạng html văn bản
- 7. xác định đầu vào so với văn bản trong jQuery
- 8. Richfaces: Văn bản giống như liên kết với ContextMenu
- 9. Hộp văn bản chỉ đọc trong C#
- 10. Xác nhận đậu VS xác thực JSF
- 11. Xác thực trong văn bản swt
- 12. Bộ chọn ngày jQuery nơi nhập văn bản chỉ đọc
- 13. Xác thực Hộp văn bản WPF
- 14. Xác thực trên Chỉnh sửa Văn bản
- 15. Xác thực đầu vào theo yêu cầu chỉ khi nhấn một nút lệnh nhất định
- 16. chiều cao đầu vào hộp văn bản
- 17. Xác thực đầu vào ASP.NET MVC
- 18. Phạm vi trong Trình xác thực JSF
- 19. Chỉ đọc một vài dòng văn bản đầu tiên từ một tệp
- 20. .valid() chỉ xác thực đầu vào đầu tiên với plugin jQuery Validation
- 21. Đọc chuỗi xml vào hộp văn bản với dòng mới
- 22. C# - Đọc trong một tệp văn bản lớn (150MB) vào Hộp văn bản có dạng thức
- 23. Cách chính xác để tạo văn bản đầu vào lớn bằng cách sử dụng Zurb Foundation
- 24. Xác thực biểu mẫu ban đầu bằng các chỉ thị
- 25. Xác thực và ủy quyền JSF
- 26. chỉ đọc Hộp văn bản trong ASP.net MVC Xem
- 27. JSF thành phần tùy chỉnh mất tiêu điểm đầu vào trên bản cập nhật ajax
- 28. Tại sao người đọc và nhà văn STAX không đóng nguồn đầu vào cơ bản?
- 29. JSF: Xác thực không thành công javascript callback
- 30. Chỉ cho phép nhập số vào Hộp văn bản WPF
Sẽ không dễ dàng hơn khi xác thực nó trong bean sao lưu trang jsf? – Richie
Và làm cách nào để kích hoạt xác thực và phát hành thông báo xác thực? –
Tôi đã thêm câu trả lời làm trả lời nhận xét. Chúc mừng – Richie