在Oracle Apex交互式网格中显示与字段内联的错误消息

时间:2019-07-18 18:49:34

标签: javascript plsql oracle-apex

验证失败后,我尝试将错误消息添加到交互式网格。我遵循了表格形式的apex_error.add_error过程的文档,但是我无法获得错误消息以与交互式网格中的字段内联显示。

我尝试了使用数字格式和varchar格式的区域ID,以及使用数据库中的列名称和浏览器上显示的名称的列别名。我也正在考虑仅在通知中显示消息,并添加JavaScript以将通知复制到某处,但是我不太确定该怎么做。页面上的html看起来像这样:

<li class="a-Notification-item htmldbStdErr"> ::before "java.sql.SQLSyntaxErrorException: ORA-00904: "LEDGER1_NAME": invalid identifier for SEC_OBJ_CODE= erwq"
</li>

 APEX_ERROR.ADD_ERROR( p_message          => apex_json.get_varchar2('Message')||' for SEC_OBJ_CODE= ' ||:SEC_OBJ_CODE,
    p_display_location =>  apex_error.c_inline_with_field_and_notif,
    p_region_id   => '3104734890213506',
    p_column_alias => 'Sec Obj Val Sql',
    p_row_num  => :ROWID); 

我得到的错误是:

  

Ajax调用返回了服务器错误ORA-20987:APEX-   错误处理验证。 -与您的应用程序管理员联系。

1 个答案:

答案 0 :(得分:0)

要在交互式网格的列上创建验证并显示与该列关联的错误消息,请执行以下操作:

  1. 在页面设计器模式下,搜索交互式网格区域,展开“列”部分,然后右键单击要验证的列,然后单击“创建验证”:

enter image description here

  1. 现在,您可以使用“ 验证”部分下的类型来建立验证;
  2. 在“ 错误”部分下,您可以编写错误消息,将“ 显示位置”设置为“ 插入字段”或“ 与字段内联并在通知中”和与要验证的列“ 关联的列”(此字段将被填充)。