使用带有REGEX组件的验证规则时出现问题

时间:2012-05-15 11:04:47

标签: salesforce

我的验证规则不验证为真,我不明白为什么不验证。公式如下:

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

它查找特定的记录类型,检查多选选项列表中的任何选定值mplGSM_Yfirlit_Extras_ c是否包含单词'Netið',并检查文本字符串的第一个字母是否也进行正则表达式检查包含在txPayerKennitala _c中的是4,5或6.如果这些都是真的,则应该触发它。但事实并非如此。我认为REGEX部分配置错误。我可以这样做 - 使用LEFT()动作检查第一个字母,然后将其传递给验证的REGEX函数?还是我离开基地?

2 个答案:

答案 0 :(得分:0)

您的REGEX [4-6] {1}{1}之前包含一个空格。它验证了数字4,5或6,以及一个空格,但仅比较txPayerKennitala__c的左移第一个字符。将您的REGEX更改为[4-6]{1},看看是否有帮助。

答案 1 :(得分:0)

我让这个工作得很好。当我删除空间时,REGEX部分开始工作。我的问题也来自INCLUDES部分。我在多选选项列表中有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}") 
)