define(['N/record', 'N/search', 'N/error', 'N/log', 'N/ui/dialog'], function (record, search, error, log, dialog) { function lineItemValidation(context) { var currentRecord = context.currentRecord; var class = currentRecord.getCurrentSublistValue({ sublistId: 'line', fieldId: 'class', }); alert("class: " + class) if (!class || class == 'undefined' || class == "") { var account_id = currentRecord.getCurrentSublistValue({ sublistId: 'line', fieldId: 'account' }); alert("Account ID: " + account_id) if (account_id) { var acc_type = search.lookupFields({ type: search.Type.ACCOUNT, id: account_id, columns: ['type'] }); var acc_type_val = acc_type.type[0].value; alert("Lookup Account Type Value : " + acc_type_val); } /**Screen Messages**/ var required_class_message = { title: 'Field Required', message: 'Please enter a Class.' }; if (acc_type_val) { alert("Requires Validation...") var acc_type_validation_required = nsfGetAccountType(acc_type_val); if (acc_type_validation_required == true) { dialog.alert(required_class_message); return false; } return true; } } return true; } function nsfGetAccountType(acc_type) { if(acc_type) { var found = false; switch (acc_type) { case "Income": found = true; break; default: break; } } return found; } return { validateLine: lineItemValidation }; });