簡體   English   中英

如何在沒有驗證的情況下禁用 oracle apex 中的過去日期

[英]How to disable past dates in oracle apex with no validation

我在 Apex v4.1 的日期選擇器中通過輸入設置為最小日期 +0d 來禁用過去的日期但是當我在第二天嘗試編輯和保存數據時,該字段顯示錯誤。 有人可以幫忙嗎。 在此處輸入圖片說明

我無法查看圖像,但是 - 按照您的描述方式 - 我建議您刪除 Date Picker 項目中的+0d並創建您自己的驗證,其類型為PL/SQL 函數返回錯誤文本 它將檢查項目值是否等於或大於TRUNC(SYSDATE) ,例如

if :P1_DATE_ITEM < trunc(sysdate) then
   return ('Error - date has to be larger or equal to today''s date');
end if;

然后將驗證的服務器端條件設置為例如ITEM IS NULL ,而“項目”是表的主鍵項目(或者 - 如果您正在使用ROWID - 使用它)。

這樣做,您會告訴 Apex 僅對新創建的行執行控制(因為它們的主鍵列值尚未設置,也沒有ROWID因為行未保存到數據庫中)。 “舊”行有它,驗證不會觸發。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM