首页 > 解决方案 > 在 adf 中,当 autosubmit ="true" 时,实体验证将被跳过

问题描述

在 adf 中,我有一个表,其中列的自动提交设置为 true。当我们更改此值时,它正在经历其生命周期并且该值正在更新,但是当切换到其他行时,该行的实体验证被跳过,但是当我们尝试将其提交到数据库时,它正在得到验证,因为交易变脏了。是否有任何功能可以帮助它进行实体验证或我的概念有任何问题。

PS:当 autosubmit = "false" 即在将其提交到数据库之前在行之间切换时触发实体验证时,它工作正常。

标签: oracle-adfjdeveloperjdeveloper-11g

解决方案


我相信通常自动提交验证会在导航事件上触发。如果不查看您的代码,很难确切知道出了什么问题,但一些可能会解决您的问题的事情包括:

  1. 确保验证是针对正在提交的属性而不是针对整行
  2. 确保您没有skipValidation="true"以其他方式设置或更改阶段(即 pageDef)
  3. 确保您是否覆盖了仍在触发验证的默认 rowNavigationListener。
  4. 确保没有 ppr 从行导航验证中删除您的错误消息,并使其看起来好像确实发生了验证,但没有。
  5. 尝试添加BlockRowNavigationOnError="always"到您的表中,看看它是否仍然允许您更改行。

推荐阅读