如何在json-logic-js中检查规则值是否为数据值的子串?
解决方案
在json-logic-js中,in操作符的逻辑是检查第一个参数是否是第二个参数的子串(当第二个参数为字符串时),你之前的规则参数顺序搞反了,导致判断逻辑和需求不符。
要实现「规则值是数据值的子串」的校验,只需调整in操作符的参数顺序:把固定的规则值放在第一个位置,动态的变量引用放在第二个位置即可。
正确规则示例
{ "and": [ { "in": [ "check", { "var": "ACTION1" } ] } ] }
验证逻辑
当你的数据为:
{ "ACTION1": "check the dictionary" }
该规则会检查"check"是否是ACTION1的子串,结果返回true,完全符合你的需求。这种写法不会受数据值动态变化的影响,因为{ "var": "ACTION1" }会自动引用当前数据中的对应字段值。
内容的提问来源于stack exchange,提问作者tempra
相关产品推荐
相关产品推荐

