Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Number formatting

Winnie P
Mega Sage

Hello Team - I am creating a Catalog Item and will add a question for requester's to provide an account number of some sort.  How do I configure this to check for proper number formatting? Account number maybe something like 00-0000-0000-00 blah blah.  What is the easiest, best practice option to do so please?  Thank you.

1 ACCEPTED SOLUTION

If you don't have any experience with scripting, recommend creating a Variable Validation Regex because there's no scripting.

Since it's customer number, you'll probably use it more then 1 form?

To create and use Variable Validation Regex.

1. From Navigator, search "Regex". Select "Variable Validation Regex" and then "New" button.

find_real_file.png

2. Enter as in the following and select "Submit" to save.

find_real_file.png

3. Open your form. Open the variable "customer number". Select the "Type Specifications" tab. Select "Customer Number" as Validation Regex.

find_real_file.png

View solution in original post

16 REPLIES 16

SanjivMeher
Mega Patron
Mega Patron

You will need an onChange client script to check if there is a '-' at the right place and the characters entered between those '-' are numbers


Please mark this response as correct or helpful if it assisted you with your question.

Hitoshi Ozawa
Giga Sage
Giga Sage

The easiest way is to create a "Variable Validation Regex" (Service Catalog > Catalog Variable > Variable Validataion Regex) and to specify it Validation Regex (Type Specification tab)

https://docs.servicenow.com/bundle/orlando-application-development/page/script/general-scripting/con...

For example, to match "00-0000-0000-00", regular expression would be like below:

^\d{2}-\d{4}-\d{4}-\d{2}$

Hitoshi Ozawa
Giga Sage
Giga Sage

Another method is to create a Catalog Client Script. If the same regular expression is going to be used in several forms, it is better to create a Variable Validation Regex but if it's only to be used once, Catalog Client Script can be used.

Example:

function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading || newValue == '') {
        return;
    }

    var pattern = /^\d{2}-\d{4}-\d{4}-\d{2}$/;
    if (!pattern.test(newValue)) {
        g_form.showFieldMsg('field', 'Illegal value.');
    }

}

Thank you Hozawa.  Is there a variable that does numbers or currency only? ie, advise requesters to add a $ limit, or would the 'single line text' be the next best type to use? Cheers.