在我的Fusion Web应用程序中,我在实体对象中定义了几个业务规则。一切正常。问题是我无法以编程方式获取它们。我已经搜索了EntityObjects Impl java类,但是没有方法可以执行验证。有没有人知道如何从实体对象获取业务规则?我需要至少获得一份清单。
更新
EntityDefImpl eoDef = EntityDefImpl.findDefObject("package...MyEO");
for (Object o : eoDef.getValidators()) {
System.out.println("Rule: " + o);
}
但即使在这种情况下,我也没有获得业务规则列表。
答案 0 :(得分:2)
尝试以下方法而不是实施
EntityDefImpl eoDef = EntityDefImpl.findDefObject("package...MyEO");
AttributeDefImpl myAttribute=getAttributeDefImpl("MyAttribute"); //Get the first Attribute
for (Object o : myAttribute.getValidators()) {
System.out.println("Rule: " + o);
}
你所做的那个只会得到实体级验证器,这个会得到你这个特定的属性验证器!
答案 1 :(得分:1)
看一下EntityDefImpl类。由于它适用于所有EO实例,因此会进行验证。enter link description here
答案 2 :(得分:1)
如果您只是想调用它,可以使用ViewObjectImpl中的验证功能(因为您想以编程方式从Web应用程序或应用程序模块调用它)
如果您想添加其他验证,则应遵循第一个答案。