首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何单独验证ilog变量?

如何单独验证ilog变量?
EN

Stack Overflow用户
提问于 2013-03-24 03:12:28
回答 3查看 586关注 0票数 0

我将使用ilog jrules分别验证多个对象(一次一个)。

我目前的想法是将所有需要验证的项包装在一个名为"itemToValidate“的输入参数中,如下所示

代码语言:javascript
复制
<xs:element name="itemToValidate">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="employer" type="tns:employer" minOccurs="0" />
            <xs:element name="department" type="tns:department" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>
</xs:element>

然后,在名为"init“的包中名为"init”的规则中,获取每个项目并将其设置为一个变量,例如"employer“,那么对于"itemToValidate”中的每个项目(元素),对于与“employer”相关的所有规则,都将具有一个文件包,例如“employer”。

我面临的问题是,我需要在实际验证之前检查所有规则的空性。

有没有办法避免这种情况?或者我的实现有什么问题吗?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2013-04-17 17:41:01

我不确定是否能理解你的问题。“在实际验证之前检查所有规则的空性”。

为什么不在工作内存中设置对象,让JRules处理内存,并使用局部规则变量而不是全局变量?

将"my employer“设置为雇主

如果“我的雇主”的名字是鲍勃

然后打印"hello“

我会创建一个函数,首先在工作内存中推送"ItemsToValidate“,然后像我一样编写规则。通过这样做,如果没有雇主需要验证,则规则永远不会触发,因为内存中没有雇主类型的项。

票数 0
EN

Stack Overflow用户

发布于 2016-05-12 01:49:24

可以实现您感兴趣的类的BOM到XOM映射的Tester部分,以检查您关心的字段是否存在。

例如,测试器可以写成:

返回this.employer != null

这意味着雇主为空的itemToValidate将不会在您编写的规则中进行评估。这将消除null检查(针对雇主)。

查看"class mapping tester using IRL“主题下的知识中心

票数 0
EN

Stack Overflow用户

发布于 2016-04-30 03:31:18

简单地说,在我们的项目中,我们对这种方法做了一个简单的描述,使用:

the value {VALUE} is defined (返回布尔值)

希望这能有所帮助。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15590958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档