Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

Need validate email id field on catalog item

mohanmerava
Tera Contributor

Hi Team,

 

 

 

 

 

 

 

How to write catalog client script to give email validation as it can accept only abc.ab@(companyname).com users only. Need to valid it for 2 email domains. Abc.ab @(companyname1).com

 

 

 

 

 

 

 

Field is a single line text field(email Id).

 

 

 

@Ankur Bawiskar help on this used below code it is validating only one. Need to validate 2 email domains

2 ACCEPTED SOLUTIONS

@mohanmerava 

try this

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading) {
        return;
    }

    g_form.hideErrorBox('variable');

    // Updated regex to match the format abc.ab@company.com
    var regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

    newValue = newValue.toString();
    var isValidFormat = regex.test(newValue);

    if (!isValidFormat) {
        g_form.showErrorBox('variable', 'Please enter a valid email address', 'error');
        g_form.clearValue('variable');
    }
}

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

@mohanmerava 

Sorry if you are asking the exact match then I already gave the code.

Please enhance it as per your requirement further.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

15 REPLIES 15

This one not working @Ankur Bawiskar 

@mohanmerava 

Sorry if you are asking the exact match then I already gave the code.

Please enhance it as per your requirement further.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

@Ankur Bawiskar thanks for your response.

@Ankur Bawiskar this one is working but it is also allowing abc@company.com it should not allow this ab@company.com

Ankur Bawiskar
Tera Patron
Tera Patron

@mohanmerava 

try this

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading) {
        return;
    }

    g_form.hideErrorBox('variable');

    // Regex patterns for the two specific email domains
    var regex1 = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.companyname\.com$/;
    var regex2 = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.companyname1\.com$/;

    newValue = newValue.toString();
    var isValidFormat1 = regex1.test(newValue);
    var isValidFormat2 = regex2.test(newValue);

    if (!isValidFormat1 && !isValidFormat2) {
        g_form.showErrorBox('variable', 'Please enter a valid email address', 'error');
        g_form.clearValue('variable');
    }
}

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader