多个块中的必填字段

Required fields in multiple blocks

我有两个数据库块:A 和 B。我还有 3 个选项卡:

两个块中的所有字段都是必需的。

我的问题是我想按选项卡的顺序输入字段,但在我的情况下,由于必填字段,当我想转到第二个选项卡时,我会转到第三个以输入所有字段,并且然后是第二个。

如何解决?

当您从第一个选项卡(基于 table/block A)导航到第二个选项卡(基于 table/block B)时,表单会执行验证 - 因为并非所有必填字段都属于table A(放在第三个选项卡中的那些)未填充 - 表单引发错误。

一个选项是从属于 table A 的所有字段中删除 "Required" 属性 并放置在第三个选项卡中。这意味着您必须检查它们是否被手动填充,即编写一个触发器来执行此操作。哪一个? PRE-INSERTPRE-UPDATE 可能是您的选择。代码看起来像

if :tab3.field1 is null or
   :tab3.field2 is null or ...
then
   message('Not all fields have been populated on tab 3');
   raise form_trigger_failure;
end if;

或者,通过

重新排列布局
  • 将字段从选项卡 3 移动到选项卡 1,或
  • 切换选项卡 2 和选项卡 3 的位置

或者,如果过程是这样,则可能是您的数据模型设置有误。您所描述的看起来像是某种 "master-detail" 关系,其中 table A 充当 "master",table B 充当 "detail"。您不应该部分填充 master ,尤其是在需要其所有列的情况下。如果那是问题所在,那么它确实 一个问题,因为更改数据模型不一定很简单,因为它会影响很多事情。