Salesforce 验证规则语法

Salesforce 验证规则语法,salesforce,Salesforce,我有一个带有两个值(A,B)和一个自定义字段的选择列表。如果选择B以外的值,则不应输入自定义字段。如果选择值B,则可以输入自定义字段。使用什么功能?我很困惑。请帮帮忙像这样的事?我使用了Account中的标准字段,Rating是一个选择列表,ShippingCountry是文本字段 验证标准: ISPICKVAL(Rating, "Hot") && ISBLANK(ShippingCountry) || NOT(ISPICKVAL(Rating, "Hot")) &&a

我有一个带有两个值(A,B)和一个自定义字段的选择列表。如果选择B以外的值,则不应输入自定义字段。如果选择值B,则可以输入自定义字段。使用什么功能?我很困惑。请帮帮忙像这样的事?我使用了Account中的标准字段,
Rating
是一个选择列表,
ShippingCountry
是文本字段

验证标准:

ISPICKVAL(Rating, "Hot") && ISBLANK(ShippingCountry) || 
NOT(ISPICKVAL(Rating, "Hot")) && NOT(ISBLANK(ShippingCountry))
错误消息:

当额定值为“热”时,装运国家是强制性的。或者 更改评级或清除装运国家/地区字段中的值

如果您熟悉逻辑、简化等,则条件基本上是a;)但是函数引用中没有XOR函数


你也可以考虑把它分成2个单独的验证规则,这将让你编写更清晰的指令,用户必须做什么?“你选择了B->填充这个值!你选择了一个->这个值”

< P>这样的事情?我使用了Account中的标准字段,
Rating
是一个选择列表,
ShippingCountry
是文本字段

验证标准:

ISPICKVAL(Rating, "Hot") && ISBLANK(ShippingCountry) || 
NOT(ISPICKVAL(Rating, "Hot")) && NOT(ISBLANK(ShippingCountry))
错误消息:

当额定值为“热”时,装运国家是强制性的。或者 更改评级或清除装运国家/地区字段中的值

如果您熟悉逻辑、简化等,则条件基本上是a;)但是函数引用中没有XOR函数


你也可以考虑把它分成2个单独的验证规则,这将让你编写更干净的指令,用户必须做什么“你选择B->填充这个值!你选择了->这个值“

使用示例眼霜给出,你可以进一步减小这样的条件的大小:

ISPICKVAL( Rating, "Hot" ) = ISBLANK( ShippingCountry )
即(详细说明):

  • 如果评级为Hot且ShippingCountry为空,则两个条件都为真且彼此相等,因此验证将激活并显示错误

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

当您必须为许多字段指定类似的条件时,这种较短的XOR表达式可能会很方便,比如说“Shipping street、city、state和zip必须全部输入或全部为空”的验证

在这种情况下,您可以输入:

ISBLANK( ShippingStreet ) != ISBLANK( ShippingCity ) 
|| ISBLANK( ShippingCity ) != ISBLANK( ShippingState ) 
|| ISBLANK( ShippingState ) != ISBLANK( ShippingPostalCode )
请注意将街道状态与城市连接到邮政编码的每个条件之间的传递性

该表达式基本上表示以下两种情况:

  • 若街道为空,则城市为空;若城市为空,则州为空;若州为空,则邮政编码为空

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


使用给出的眼霜示例,您可以进一步缩小病情,如下所示:

ISPICKVAL( Rating, "Hot" ) = ISBLANK( ShippingCountry )
即(详细说明):

  • 如果评级为Hot且ShippingCountry为空,则两个条件都为真且彼此相等,因此验证将激活并显示错误

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

当您必须为许多字段指定类似的条件时,这种较短的XOR表达式可能会很方便,比如说“Shipping street、city、state和zip必须全部输入或全部为空”的验证

在这种情况下,您可以输入:

ISBLANK( ShippingStreet ) != ISBLANK( ShippingCity ) 
|| ISBLANK( ShippingCity ) != ISBLANK( ShippingState ) 
|| ISBLANK( ShippingState ) != ISBLANK( ShippingPostalCode )
请注意将街道状态与城市连接到邮政编码的每个条件之间的传递性

该表达式基本上表示以下两种情况:

  • 若街道为空,则城市为空;若城市为空,则州为空;若州为空,则邮政编码为空

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


是的,我包括了一个与此完全相同的条件。是否有任何可能的方法来减少条件(我的意思是在第一个条件和非条件中使用相同的字段)不要这样认为:)它是'x*y+not(x)*not(y)`(检查中的“真值表”)。我怀疑你是否可以使用规则进一步简化它(你可能在考虑某种形式的“补充”规则)。是否有任何可能的方法来减少条件(我的意思是在第一个条件和非条件中使用相同的字段)不要这样认为:)它是'x*y+not(x)*not(y)`(检查中的“真值表”)。我怀疑你是否可以使用规则进一步简化它(你可能在考虑某种形式的“补充”规则)。聪明,我喜欢:)聪明,我喜欢:)