Salesforce 使用带有正则表达式组件的验证规则时出现问题

Salesforce 使用带有正则表达式组件的验证规则时出现问题,salesforce,Salesforce,我有一个验证规则,它不能验证为真,我不明白为什么它不能。公式如下: AND( $RecordType.Name = "GSM Yfirsýn", INCLUDES( mplGSM_Yfirlit_Extras__c , "Netið"), REGEX(LEFT( txPayerKennitala__c ,1), "[4-6] {1}") ) 它查找特定的记录类型,检查多选选择列表mplGSM_Yfirlit_EXTRASS_c中的任何选定值是否包含单词“Netið”,并对txPayer

我有一个验证规则,它不能验证为真,我不明白为什么它不能。公式如下:

AND( 
$RecordType.Name = "GSM Yfirsýn", 
INCLUDES( mplGSM_Yfirlit_Extras__c , "Netið"), 
REGEX(LEFT( txPayerKennitala__c ,1), "[4-6] {1}") 
)

它查找特定的记录类型,检查多选选择列表mplGSM_Yfirlit_EXTRASS_c中的任何选定值是否包含单词“Netið”,并对txPayerKennitala_c中包含的文本字符串的第一个字母是4、5还是6进行正则表达式检查。如果这些都是真的,它应该被触发。但事实并非如此。我认为的REGEX部分配置错误。我可以这样做-使用LEFT()操作检查第一个字母,然后将其传递给进行验证的正则表达式函数?或者我是不是偏离了基准?

您的正则表达式
[4-6]{1}
{1}
前面包含一个空格。它正在验证是否有一个数字4、5或6以及一个空格,但只比较
txpayerkenitala\uuu c
的左第一个字符。将正则表达式更改为
[4-6]{1}
,看看这是否有帮助。

我很好地解决了这个问题。当我移除空间时,REGEX部分开始工作。我的问题也源于包含部分。我在多选选择列表中有5个不同的值要计算,并且我必须在它们之间使用OR语句。因此,对于任何一个偶然发现这一点的人来说,这是我的正确规则公式:

AND( 
$RecordType.Name = "GSM Yfirsýn", 
OR( 
INCLUDES(mplGSM_Yfirlit_Extras__c ,"Netið í Símann 1" ), 
INCLUDES(mplGSM_Yfirlit_Extras__c ,"Netið í Símann 2" ), 
INCLUDES(mplGSM_Yfirlit_Extras__c ,"Netið í Símann 3" ), 
INCLUDES(mplGSM_Yfirlit_Extras__c ,"Netið í Símann 4" ), 
INCLUDES(mplGSM_Yfirlit_Extras__c ,"Netið í Símann 5" )), 
REGEX(LEFT( txPayerKennitala__c ,1),"[4-6]{1}") 
)

是的,的确如此。我还是没能让它发挥作用,但这是朝着正确方向迈出的一步。谢谢你。我会将其标记为正确。我修改了此规则,如下所示: