0

Oracle Forms で簡単なプログラムを作成しました。以下のコードは、送信ボタンが押されたときのトリガーです。

ここにあります:

BEGIN
CREATE_RECORD;

IF :USERS.USERNAME IS NULL THEN
    MESSAGE('Please enter Username');
    GO_ITEM('USERNAME');

ELSIF :USERS.PASSWORD IS NULL THEN
    MESSAGE('Please enter Password');
    GO_ITEM('PASSWORD');

ELSIF :USERS.PASSWORD2 IS NULL THEN
    MESSAGE('Please confirm your Password');
    GO_ITEM('PASSWORD2');

ELSIF :USERS.PASSWORD != :USERS.PASSWORD2 THEN
    MESSAGE('Password did not match');
    GO_ITEM('PASSWORD2');

ELSIF :USERS.NAME IS NULL THEN
    MESSAGE('Please enter your Name');
    GO_ITEM('NAME');

ELSIF :USERS.POSITION IS NULL THEN
    MESSAGE('Please enter your Position');
    GO_ITEM('POSITION');

END IF;

IF :USERS.ACCESS_LEVEL = 'admin' THEN

    IF :USERS.ADMIN_PASS = 'eweb1' THEN

        alert:= show_alert('USER_CREATED');

            IF alert = alert_button1 THEN
            MESSAGE('OK');
            END IF;

    ELSE
                MESSAGE('Administrator Password did not match');
                GO_ITEM('ADMIN_PASS');
    END IF;

    ELSE
        alert:= show_alert('USER_CREATED');

            IF alert = alert_button1 THEN
                /* foo */
            END IF;

END IF;

END;

2 番目のパスワード (password2) が一致しない場合や、「パスワードが一致しませんでした」というメッセージが表示された場合など、フォームでエラーが発生した場合でも、停止してボタンが押されるのを待つ代わりに、フローして次のステートメントを読み取ります。また。これを修正できることを願っています。tnx

4

1 に答える 1