BullgillRunner
02/29/2024, 2:05 PMerictgrubaugh
02/29/2024, 3:05 PMvalidate*
functions should return true
in all cases that you don't care about.
If you only care about validating transaction lines, you can inspect the context.sublistId
property that is passed in and only run your validation logic when the sublistId
is `'item'`; all other paths should return true
.BullgillRunner
02/29/2024, 3:08 PMerictgrubaugh
02/29/2024, 3:24 PMfunction validateLine(context) {
if (context.sublistId === 'item') {
return isValidItemLine(context)
}
if (context.sublistId === 'expense') {
return isValidExpenseLine(context)
}
// all other paths return true
return true;
}
BullgillRunner
02/29/2024, 3:40 PMfunction validateLine(scriptContext) {
// COST CENTRE FIELD CHECK
let objRec = scriptContext.currentRecord;
let contextcheck = scriptContext.sublistId;
if (scriptContext.sublistId === 'mediaitem') {
return true;
}
.... // about 100 lines of code to validate if the data in the item/expense lines are correct.
}
Stefan Reeder
02/29/2024, 11:28 PMif (scriptContext.sublistId === 'mediaitem') {
return true;
}
I would use
if (scriptContext.sublistId !== 'expense' && scriptContext.sublistId !== 'item') {
return true;
}
Stefan Reeder
02/29/2024, 11:29 PMif (scriptContext.sublistId === "item") {
// do item validation
}
else if (scriptContext.sublistId === "expense") {
// do expense validation
}
else return true;
erictgrubaugh
03/01/2024, 2:42 AMBullgillRunner
03/01/2024, 2:27 PMif (scriptContext.sublistId !== 'expense' && scriptContext.sublistId !== 'item') {
return true;
}