0

I am having an issue with a validation on a field in my Case object.I have the below requirement.Can somebody help?

The Field should allow only a total 11 digits. These 11 digits can be divided into 3 parts:

  1. The first 3 digits are the Prefix which are always unique
  2. The next 7 digits is the Serial Number
  3. The last digit is the Check digit

For example if the user enters the value in the filed as 589 8114074 3:

Disregard the first 3 unique Prefix numbers and the last Check Digit [because that’s what we are going to find and match it with the actual check digit]

Just consider the 7 digit Serial Number, 8114074 and divide this by 7 [the number 7 is a constant, Mod7]

The remainder determines the Check Digit

Example, Serial Number 8114074 when divided manually by 7 the remainder is 3.

This remainder matches with the check digit of the field, hence the value 589 8114074 3 in the field should validate as correct.

2
  • What have you tried so far to achieve this requirement? What specific issue did you encounter when you made an attempt?
    – David Reed
    Mar 7, 2019 at 13:19
  • I am a beginner and i am trying to create a formula field for this but cannot wrap my head around it. Mar 7, 2019 at 13:20

1 Answer 1

0

Considering that your number is without spaces (ie: 58981140743 ), the solution could be limiting maximum number of characters in the field using its settings and limiting minimum field characters through a validation rule such as:

OR(NOT(MOD(VALUE(RIGHT(LEFT(number__c,10),7)),7) = VALUE(RIGHT(number__c, 1))), LEN(number__c) <> 11)
3
  • Thanks @Dahn What about validating the logic for MOD7 compliant for numbers starting from 4th position to 10th position? Can we use REGEX to do it? Mar 7, 2019 at 15:16
  • @PseudoDarwinist we could use regex to check if pattern matches, but not for locate or manage text. You could use SUBSTITUTE(number__c, " ", "") wherever number__c appears to remove spaces.
    – Dahn
    Mar 7, 2019 at 15:19
  • Thanks @Dahn.That's the requirement.When customer enters the the 11 digit number,i want to verify that the numbers from 4th position to 10th is mod7 compliant.Meaning if i divide the 7 numbers(from 4th to 10th) by 7,the remainder matches the last digit(12th position) Mar 7, 2019 at 18:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .