2014-01-30 34 views
0

我目前在ORACLE APEX中編寫了一個apolication,我在登錄時編寫了一些驗證,以便當您輸入用戶名和密碼並單擊提交時,它將檢查是否已更改你的密碼,如果是的話,如果不是我希望它鏈接到修改密碼頁面會引導您到主頭版但是,我現在有一些代碼,看起來像:APEX - 通過代碼切換到頁面

BEGIN 
    FOR c1 IN (SELECT user_name FROM wwv_flow_users) LOOP 
    IF APEX_UTIL.CHANGE_PASSWORD_ON_FIRST_USE(p_user_name => c1.user_name) THEN 
     htp.p('User:'||c1.user_name 
      ||' requires password to be changed the first time it is used.'); 
     /*f?p=&APP_ID.:8:&SESSION;*/ 
    END IF; 
    END LOOP; 
END 

但是我不能確定爲至於這是多麼正確,因爲我對這個話題頗爲陌生,這就是我從oracles API中看到的東西,並且從其他來源尋找來試圖獲得成功的結論。

任何幫助,將不勝感激

非常感謝

Ĵ

回答

1

你混合兩種不同的Apex功能:驗證和分支機構。

如果要檢查數據錄入錯誤,請使用驗證 - 並且通常會將相同的頁面返回給用戶,以便他們糾正錯誤。

如果您想分支到另一個頁面,請使用Branch。如果要根據條件分支到不同的頁面,可以創建多個分支,每個分支都有一個條件。將使用滿足其條件的第一個分支。

另外,如果你想在分支之前做一些處理,你可以創建一個進程。通常,在驗證完成後但分支完成之前運行Process。

在你的情況下,你可以把你的代碼放到一個Process中,然後用一個標誌設置一個隱藏項目,這個標誌被分支用來確定分支到哪個頁面。