Thursday, May 02, 2013

Some Usefull Salesforce.com Lead Validation Rules

In a recent customer event, we discussed some useful validation rules for Leads. Many of the sample validation rules in the Help&Training application focus on Accounts and Contacts, however very few are specific to Leads. Fortunately, these can be easily "translated".

Requiring a 2 Digit country code (ISO 3166)

OR( LEN( Country ) = 1, NOT( CONTAINS( "AF:AX:AL:DZ:AS:AD:AO:AI:AQ:AG:AR:AM:" & "AW:AU:AZ:BS:BH:BD:BB:BY:BE:BZ:BJ:BM:BT:BO:" & "BA:BW:BV:BR:IO:BN:BG:BF:BI:KH:CM:CA:CV:KY:" & "CF:TD:CL:CN:CX:CC:CO:KM:CG:CD:CK:CR:CI:HR:" & "CU:CY:CZ:DK:DJ:DM:DO:EC:EG:SV:GQ:ER:EE:ET:FK:" & "FO:FJ:FI:FR:GF:PF:TF:GA:GM:GE:DE:GH:GI:GR:GL:" & "GD:GP:GU:GT:GG:GN:GW:GY:HT:HM:VA:HN:HK:HU:" & "IS:IN:ID:IR:IQ:IE:IM:IL:IT:JM:JP:JE:JO:KZ:KE:KI:" & "KP:KR:KW:KG:LA:LV:LB:LS:LR:LY:LI:LT:LU:MO:MK:" & "MG:MW:MY:MV:ML:MT:MH:MQ:MR:MU:YT:MX:FM:MD:MC:" & "MC:MN:ME:MS:MA:MZ:MM:MA:NR:NP:NL:AN:NC:NZ:NI:" & "NE:NG:NU:NF:MP:NO:OM:PK:PW:PS:PA:PG:PY:PE:PH:" & "PN:PL:PT:PR:QA:RE:RO:RU:RW:SH:KN:LC:PM:VC:WS:" & "SM:ST:SA:SN:RS:SC:SL:SG:SK:SI:SB:SO:ZA:GS:ES:" & "LK:SD:SR:SJ:SZ:SE:CH:SY:TW:TJ:TZ:TH:TL:TG:TK:" & "TO:TT:TN:TR:TM:TC:TV:UG:UA:AE:GB:US:UM:UY:UZ:" & "VU:VE:VN:VG:VI:WF:EH:YE:ZM:ZW", Country)))

Requiring Zip+4 Postal Codes for US Leads

AND( OR( Country = "USA", Country = "US"), NOT(REGEX( PostalCode , "\\d{5}(-\\d{4})?")) )
Note: More details on Regular Expressions REGEX can be found in the J2SE documentation, basically \\d{5} indicates 5 digits, whereas \\D{5} indicates 5 non-digits.

Requiring 10-Digit US Phone Number for US Leads

AND( OR( Country = "USA", Country = "US"), NOT(REGEX( Phone , "\\D*?(\\d\\D*?){10}")) )

Simple example for requiring a positive number in a custom Monthly Budget field

Monthly_Budget__c < 0