1
<xBusinessRules xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xBusinessRules.xsd">
<ObjectLookup id="Applicant" objectId="Args" member="Applicant"/>
<ObjectLookup id="CustomValues" objectId="Applicant" member="CustomValues"/>
<ObjectLookup id="ValidationErrors" objectId="Args" member="ValidationErrors"/>
<Boolean id="IsValid" value="True"/>
<ForEach id="CustomField" valueId="CustomValues">
<ObjectLookup id="Field" objectId="CustomField" member="Field"/>
<ObjectLookup id="CustomFieldName" objectId="Field" member="Key"/>
<ObjectLookup id="CustomFieldValue" objectId="CustomField" member="Value"/>
<Logic>
<If>
<And>
<Equals leftId="CustomFieldName" rightId="XAGENTNAME">
</Equals>
</And>
<Do>
<Modify id="IsValid" value="False" type="Boolean"/>
<ObjectLookup objectId="ValidationErrors" member="Add">
<Argument value="Custom_XAGENTNAME" type="String"/>
<Argument value="Pick a sales broker plz" type="String"/>
</ObjectLookup>
</Do>
</If>
</Logic>
</ForEach>
を評価していない場合、私はrulesEngine.RuleContext.GetResult("CustomFieldName").Result
を走っていると、それはXAGENTNAME
に等しい行いますがfalseにisValid
変数を設定しません。
なぜですか?
はそれが変数であることを意味します。 NXBREに文字列リテラルを教える方法はありますか? – Ageis
いいえ、ルールは参照のみで動作します。この種の定数をルールファイルの先頭に置くのが一般的です(https://github.com/ddossot/NxBRE/blob/master/NxBRE3/Rulefiles/test.xbre#L26-L37)。 –