我正在使用Oracle Apex 19.2。我需要创建一个包含许多字段和许多验证的表单页面。
而不是为每个字段创建一个验证例程,而是选中将它们全部放入一个PL / SQL过程中,并在APEX中创建流程例程。在该pl / sql过程中,我将执行所有必要的检查,并使用apex_error.add_error
将所有错误添加到堆栈中。
如果至少有一个错误,我想中断过程执行并将其显示在页面上。问题在于该过程始终成功完成,因此不会显示任何错误。我尝试了raise_application_error,但是在错误页面上也可以看到我的自定义错误。
在提高apex_application.e_stop_apex_engine
时同样适用-除了我的自定义验证之外,ORA-20876
还存在apex_application.stop_apex_engine
错误。
有什么办法可以在不引发错误的情况下中断过程执行,或者以某种方式忽略我为破坏它而引发的错误?
答案 0 :(得分:0)
问题解决了。
我将PL / SQL过程定义为APEX Process例程。相反,我应该将其作为APEX验证来完成。看起来APEX会执行所有验证,然后,即使它们一切正常,它也会检查错误堆栈,并且如果有任何错误,则不会继续进行处理。下面是实现方法的步骤。
your_plsql_package.your_procedure;
return true;
就是这样。除了可以在页面上进行数十次验证之外,您还可以使用一个过程来将它们全部统治:)但是,它可能对开发人员更友好。