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