阻止在 Oracle 表单中执行何时验证项



我在 Oracle 窗体中有一个复杂的窗体,该窗体在 When-Validate-Item 触发器中具有一些重新计算逻辑。我的问题是我希望此逻辑仅在用户更改项目的值时执行,而不是在以编程方式更改时执行,就像在表单启动时填充项目一样。当然,我可以添加一些状态逻辑来防止以编程方式阻止表单启动时的验证逻辑,但这会增加表单的一些额外复杂性。

我的问题是,Oracle 表单中是否有任何方法可以通过例如将项目状态设置为有效来阻止执行验证逻辑?

当以编程方式更改值时,

set_item_property('block_name.item', item_is_valid, property_true);

几种可能的方法可以执行此操作,具体取决于项目的更改方式以及项目上的属性。

1) 如果您的项目是数据库项目,并且您在正常查询期间填写,则不会触发 when-validate-item 触发器。

2)如果您没有用普通查询填充它,则可以将验证时间从项目更改为记录甚至表单。这样,它只会在您执行提交或离开表单时进行验证。

3)当然要跟踪这些更改,不要让验证消失。

PS:通常您不会在验证项目触发器中做事,当它从幕后填充时会成为问题,所以我不知道触发器中的代码是什么,但它应该只是输入值的验证,如果这是错误的,即使它填充了代码而不是用户,它也应该这么说。

最新更新