Oracle apex Oracle APEX—如何在自定义验证过程中引发错误,而不在错误页面上显示错误

Oracle apex Oracle APEX—如何在自定义验证过程中引发错误,而不在错误页面上显示错误,oracle-apex,Oracle Apex,我正在使用Oracle Apex 19.2。我需要创建一个包含许多字段和许多验证的表单页面 我不想为每个字段创建一个验证例程并进行检查,而是想将它们全部放在一个PL/SQL过程中,并在APEX中创建流程例程。在pl/sql过程中,我将执行所有必要的检查,并使用apex\u error.add\u error将所有错误添加到堆栈中 如果至少有一个错误,我希望中断过程执行并在页面上显示它。问题是该过程始终成功完成,因此不会显示错误。我尝试引发应用程序错误,但我的自定义错误也显示在错误页面上 这同样适

我正在使用Oracle Apex 19.2。我需要创建一个包含许多字段和许多验证的表单页面

我不想为每个字段创建一个验证例程并进行检查,而是想将它们全部放在一个PL/SQL过程中,并在APEX中创建流程例程。在pl/sql过程中,我将执行所有必要的检查,并使用
apex\u error.add\u error
将所有错误添加到堆栈中

如果至少有一个错误,我希望中断过程执行并在页面上显示它。问题是该过程始终成功完成,因此不会显示错误。我尝试引发应用程序错误,但我的自定义错误也显示在错误页面上

这同样适用于rising
apex_应用程序。e_停止_apex_引擎
-除了我的自定义验证之外,还有来自
apex_应用程序的
ORA-20876
错误。停止_apex_引擎

有没有什么方法可以在不引发错误的情况下中断过程执行,或者忽略我引发的错误来中断它

问题已解决

我将PL/SQL过程定义为APEX过程例程。相反,我应该把它作为一个顶点验证。看起来APEX执行所有验证,然后,即使它们都正常,它也会检查错误堆栈,如果有任何错误,它不会继续处理。下面是如何实现它的步骤

  • 定义一个新的APEX验证,验证类型为PL/SQL函数体(返回布尔值)
  • 这里开始了棘手的部分——在PL/SQL代码字段中,您将PL/SQL过程放入其中,并且始终返回true。它看起来像:
  • 您的\u plsql\u包。您的\u过程;
    返回true

  • 在必填字段错误消息中,您可以编写任何您想要的消息-它将永远不会显示在错误页面上
  • 就这样。您可以使用一个过程来管理所有验证,而不是在页面上进行几十次验证:)但是,它可以更方便开发人员。

    问题已解决

    我将PL/SQL过程定义为APEX过程例程。相反,我应该把它作为一个顶点验证。看起来APEX执行所有验证,然后,即使它们都正常,它也会检查错误堆栈,如果有任何错误,它不会继续处理。下面是如何实现它的步骤

  • 定义一个新的APEX验证,验证类型为PL/SQL函数体(返回布尔值)
  • 这里开始了棘手的部分——在PL/SQL代码字段中,您将PL/SQL过程放入其中,并且始终返回true。它看起来像:
  • 您的\u plsql\u包。您的\u过程;
    返回true

  • 在必填字段错误消息中,您可以编写任何您想要的消息-它将永远不会显示在错误页面上
  • 就这样。您可以使用一个过程来管理所有验证,而不是在页面上进行几十次验证:)但是,它可以更方便开发人员