2011-02-01 44 views
2

如何禁用F8 in oracle forms?我已經開發了一個表單並對保存按鈕進行了驗證。但用戶可以通過按F8來跳過此驗證以保存表單。如何在oracle中禁用F8

我把我的驗證檢查放在KEY-COMMIT的觸發器中。

我使用Oracle Forms 6i。

+0

也許明智地發現_why_用戶在欺騙你的表單驗證:你可能錯過了對問題的一些重要理解(也許你正在請求無法提供的數據?)。或者,也許沒有「提交表單」的鍵盤快捷鍵,並且人們討厭爲鼠標伸出數據輸入。很難說。但是問一下_why_它首先發生。 :) – sarnold 2011-02-01 08:59:01

+1

您不能將驗證邏輯放入ON-COMMIT觸發器嗎?這應該以任何方式執行。 – ZeissS 2011-02-01 08:59:39

回答

7

您不應該將驗證代碼放在KEY-COMMIT觸發器中,因爲如您所知,這只是表單可以提交的一種方式。除了F8鍵之外,用戶可能會退出表單並回答「是」到「是否要保存更改?」等等。

要驗證記錄,請使用WHEN-VALIDATE-RECORD觸發器。要執行更復雜的驗證,您可以使用POST-FORMS-COMMIT觸發器。

最近,當開發人員在「輸入查詢」按鈕的WHEN-BUTTON-PRESSED觸發器中放置了一些重要的初始代碼時,我不得不處理類似的問題。如果用戶按下適當的Enter鍵進行查詢,或者使用了菜單,或者使用了工具欄,則表單會堆積在堆中。