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);