Có, bạn có thể tạo xác thực phía máy chủ bằng cách sử dụng Dynamic Action
và hàm JavaScript apex.server.process
.
Một ví dụ cơ bản để chứng minh-
- Tạo một mục trang, ví dụ:P4_NAME trong trang của bạn
- Tạo quy trình trang và chọn điểm thực thi là "AJAXCALLBACK".
Trong đoạn mã dưới đây, tôi đang kiểm tra giá trị P4_ITEM, bạn có thể viết logic của riêng mình để xác thực.
BEGIN
IF :P4_NAME = 'HIMANSHU'
THEN
HTP.prn ('SUCCESS');
ELSE
HTP.prn ('ERROR');
END IF;
END;
- Bây giờ, hãy tạo một hành động động mới và chọn Sự kiện là "LOSE FOCUS", Loại lựa chọn dưới dạng "(Các) mặt hàng" và trong (Các) Mặt hàng chọn tên mục.
- Tạo một hành động đúng và chọn "thực thi Mã JavaScript".
Trong phần mã, hãy triển khai apex.server.process
như bên dưới-
apex.server.process('validate_name',
{
pageItems : '#P4_NAME'
}
,
{
dataType : 'text', success : function(data)
{
if(data != 'SUCCESS')alert(data);
}
}
)
Đối số đầu tiên là tên quy trình trang (validate_name) mà chúng tôi đã tạo trước đó, thứ hai là dữ liệu bạn muốn gửi cho quy trình và thứ ba là tùy chọn. Để biết thêm chi tiết về apex.server.process
Nó được thực hiện. Làm mới trang của bạn và kiểm tra. Khi xác thực không thành công, bạn sẽ nhận được một cảnh báo.
Bạn có thể tùy chỉnh thêm mã JS của mình để hiển thị thông báo lỗi theo cách lạ mắt hơn thay vì hiển thị cảnh báo.