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

mohanmerava
Tera Contributor

This below code was working 

function onChange(control, oldValue, newValue, isLoading, isTemplate) {

 

    if (isLoading) {

        return;

    }

 

    g_form.hideErrorBox('variable');

    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 valid email address', 'error');

        g_form.clearValue('variable');

    }

But need to modify were your email is in formate of abc.ab@company.com

@Ankur Bawiskar please help me on this 

@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

Replaced it with as you mentioned*.*@ab.com it's working 

@Ankur Bawiskar  as per the above it should take on abc.ab@company.com only but it is also accepting aba@company.com. it should not accept abc@company.com only should allow only abc.ab@company.com can you help me on this