You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle APEX如何实现文本域校验 点击按钮弹出错误/成功提示

Oracle APEX 点击按钮提示实现方案

你找不到ADD_ERROR.ADD_ERROR包的核心原因是包名书写错误:APEX内置的页面错误抛出能力属于APEX_ERROR包,add_error是该包下的存储过程,不存在ADD_ERROR这个独立包,所有APEX 5.0及以上版本都自带该包,无需额外安装。
以下提供两种可直接落地的实现方案:

方案1:后端PL/SQL直接实现(推荐)

直接修改按钮绑定的PL/SQL逻辑,在代码中完成校验、错误抛出、成功提示全流程,代码如下:

BEGIN
    -- 文本域空值校验
    IF :textarea1 IS NULL THEN
        -- 抛出页面顶部错误提示
        apex_error.add_error(
            p_message => '文本域字段不能为空',
            p_display_location => apex_error.c_inline_in_notification
        );
    ELSE
        -- 执行邮件发送逻辑
        APEX_MAIL.SEND(
            p_from => 'alice@example.com',
            p_to   => 'bob@example.com',
            p_subj => 'Email from Oracle Autonomous Database',
            p_body => 'Sent using APEX_MAIL'
        );
        -- 立刻推送邮件队列,省略该步邮件会按系统定时任务延迟发送
        apex_mail.push_queue;
        -- 配置发送成功提示
        apex_application.g_print_success_message := '邮件发送成功';
    END IF;   
END;

该方案注意事项:

  • 按钮的提交行为需配置为页面提交,否则页面不会重新渲染提示内容
  • p_display_location参数可调整提示展示位置:传apex_error.c_inline_in_notification会在页面顶部展示通知条,传apex_error.c_on_error_page会跳转到独立错误页,按需选择即可

方案2:前端校验+后端发邮件(适配老版本APEX)

如果你的APEX版本过低确实无法调用APEX_ERROR包,可通过动态Action拆分前后端逻辑实现,步骤如下:

  • 给发送按钮新增「点击」触发的动态Action,第一个动作为「执行JavaScript代码」,做前端空值校验:
// 获取文本域值并去除首尾空格
const textareaContent = $v('P1_TEXTAREA1').trim();
if (!textareaContent) {
    // 展示页面错误提示
    apex.message.showErrors({
        type: "error",
        location: "page",
        message: "文本域字段不能为空",
        unsafe: false
    });
    // 阻断后续发邮件逻辑执行
    apex.da.cancelAction();
}
  • 在上述JS动作之后新增第二个动作,类型为「执行PL/SQL代码」,写入邮件发送逻辑:
BEGIN
    APEX_MAIL.SEND(
        p_from => 'alice@example.com',
        p_to   => 'bob@example.com',
        p_subj => 'Email from Oracle Autonomous Database',
        p_body => 'Sent using APEX_MAIL'
    );
    apex_mail.push_queue;
END;
  • 给PL/SQL动作新增「成功时执行」的JavaScript回调,展示发送成功提示:
apex.message.showPageSuccess('邮件发送成功');

内容的提问来源于stack exchange,提问作者kiric8494

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 07:34:23