我正在构建验证策略,规则集将验证我传入的xml文档,如果发现任何无效的情况,则会引发不同类型的验证错误。但是,我想增加一条额外的规则,即“如果没有找到验证错误,请执行某些操作”。是否有可能实现这一目标以及如何实现?
即。规则看起来像这样
如果doc.firstname = dog 然后isDocumentValidate = false; failedReason ='必须是人' 如果doc.age = 0 然后isDocumentValidate = false; failedReason ='必须是成年人' 如果isDocumentValidate = true 然后做点什么
答案 0 :(得分:0)
是的,您可以为策略中的每个规则设置优先级(单击规则并检查其属性)。规则将从最高优先级编号执行到最低优先级编号。您也可以使用负数。在“使文档无效”之后,您可以停止触发其他规则(例如here)。
但是对于您的示例,如果可能,我建议您使用isDocumentValidate=true
的默认值,而BRE只需要担心更改无效实例的值。
条件为1 is equal to 1
的规则始终为真。将该规则作为您的最低优先级。
答案 1 :(得分:0)
您可以通过为默认条件创建规则来实现此目的,isDocumentValidate = true,将条件设置为1等于1,并将优先级设置为高于其他规则。这样,默认规则将首先触发,设置默认值,然后如果任何其他规则匹配,它们将适当地设置值。