1

我有两个值(A,B)和一个自定义字段的选项列表。如果选择 B 以外的值,则不应输入自定义字段。如果选择 B 值,则可以输入自定义字段。使用什么功能。? 我很困惑。请帮忙

4

2 回答 2

3

像这样的东西?我使用了来自 Account 的标准字段,Rating是一个选项列表,ShippingCountry是文本字段。

验证标准:

ISPICKVAL(Rating, "Hot") && ISBLANK(ShippingCountry) || 
NOT(ISPICKVAL(Rating, "Hot")) && NOT(ISBLANK(ShippingCountry))

错误信息:

当评级为“热”时,送货国家是强制性的。请更改评级或清除“发货国家/地区”字段中的值。

如果您熟悉逻辑、简化等,则该条件基本上是XNOR ;)但我们在函数参考中没有 XOR 函数。

您还可以考虑将其拆分为 2 个单独的验证规则 - 这将让您编写更清晰的说明用户必须执行的操作“您选择了 B -> 填充此值!;您选择了 A -> 清除此值

于 2012-11-26T10:00:48.843 回答
1

使用 eyecream 给出的示例,您可以进一步减小条件的大小,如下所示:

ISPICKVAL( Rating, "Hot" ) = ISBLANK( ShippingCountry )

那是(拼写出来的):

  • 如果 Rating 是 Hot 并且 ShippingCountry 是空白,那么两个条件都将为 TRUE 并且彼此相等,因此验证将激活并显示错误

  • 如果 Rating 不是 Hot 并且 Shippingcountry 不是空白,则两个条件都将为 FALSE 但彼此相等,因此验证将激活并显示错误

当您必须为许多字段指定类似的标准时,这种类型的较短 XOR 表达式可能会很方便,例如“运输街道、城市、州和邮政编码必须全部输入或全部空白”的验证。

在这种情况下,您将输入:

ISBLANK( ShippingStreet ) != ISBLANK( ShippingCity ) 
|| ISBLANK( ShippingCity ) != ISBLANK( ShippingState ) 
|| ISBLANK( ShippingState ) != ISBLANK( ShippingPostalCode )

请注意将街道状态连接到城市一直到邮政编码的每个条件之间的传递性。

该表达式基本上意味着以下两个条件:

  • 如果街道为空,则城市应为空,如果城市为空,则州应为空,如果州为空,则邮政编码应为空

  • 如果街道不为空,则城市不应为空,如果城市不为空,则州不应为空,如果州不为空,则邮政编码不应为空

于 2017-05-28T00:39:21.637 回答