Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

Compare glide_list with reference field value.

Pratiksha KC
Kilo Sage

(function executeRule(current, previous) {

 

var applicabilityUser = current.getValue('applicability_by_cao');
var circularList = current.getValue('circular_cao');

 

// If circular list is empty → stop save
if (!circularList) {
current.setAbortAction(true);
return;
}

 

var circularArray = circularList.split(',');


// Validation
if (circularArray.indexOf(applicabilityUser) == -1) {

gs.addErrorMessage(
'The user in "Applicability Confirmation By CAO" is not present in the "Circular CAO" list.'
);

current.setAbortAction(true);
}

})(current, previous);

1 REPLY 1

Sneha KH
Tera Guru

Hello @Pratiksha KC ,

(function executeRule(current, previous) {

// 1. Get values (getValue returns sys_id strings)
var applicabilityUser = current.getValue('applicability_by_cao');
var circularList = current.getValue('circular_cao');

// 2. Safeguard: If the list is empty, we cannot validate. Abort.
if (!circularList) {
gs.addErrorMessage('The Circular CAO list cannot be empty.');
current.setAbortAction(true);
return;
}

// 3. Logic: Check if the reference sys_id exists inside the comma-separated list
// We use .indexOf() on the string itself or split it into an array
var circularArray = circularList.split(',');

if (circularArray.indexOf(applicabilityUser) === -1) {
// 4. Action: If not found, show message and stop the transaction
gs.addErrorMessage(
'Validation Failed: The user selected in "Applicability Confirmation By CAO" must be a member of the "Circular CAO" list.'
);
current.setAbortAction(true);
}

})(current, previous);