From f131127042f1c84c2c64b1d6e0afc3aa88a30314 Mon Sep 17 00:00:00 2001 From: prudvi-sai-posetty Date: Tue, 28 Oct 2025 12:37:17 +0530 Subject: [PATCH 1/3] Create README.md --- .../Field Validation based on form view in Server side/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Server-Side Components/Business Rules/Field Validation based on form view in Server side/README.md diff --git a/Server-Side Components/Business Rules/Field Validation based on form view in Server side/README.md b/Server-Side Components/Business Rules/Field Validation based on form view in Server side/README.md new file mode 100644 index 0000000000..5549907224 --- /dev/null +++ b/Server-Side Components/Business Rules/Field Validation based on form view in Server side/README.md @@ -0,0 +1 @@ +ServiceNow business rule for server-side field validation based on form views. From b551e42a51666259ecd50c406d23cc5beab880aa Mon Sep 17 00:00:00 2001 From: prudvi-sai-posetty Date: Tue, 28 Oct 2025 12:42:37 +0530 Subject: [PATCH 2/3] Create fieldValidationinBR.js --- .../fieldValidationinBR.js | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Server-Side Components/Business Rules/Field Validation based on form view in Server side/fieldValidationinBR.js diff --git a/Server-Side Components/Business Rules/Field Validation based on form view in Server side/fieldValidationinBR.js b/Server-Side Components/Business Rules/Field Validation based on form view in Server side/fieldValidationinBR.js new file mode 100644 index 0000000000..5e6c22c202 --- /dev/null +++ b/Server-Side Components/Business Rules/Field Validation based on form view in Server side/fieldValidationinBR.js @@ -0,0 +1,39 @@ +(function executeRule(current, previous /*null when async*/ ) { + var TARGET_VIEW_NAME = 'your_target_view_name'; + var FIELD_VALIDATIONS = [ + {field: 'field1', expectedValue: 'value1', errorMsg: 'Field 1 validation failed'}, + {field: 'field2', expectedValue: 'value2', errorMsg: 'Field 2 validation failed'}, + {field: 'field3', expectedValue: 'value3', errorMsg: 'Field 3 validation failed'} + ]; + + var gURI = ""; + try { + gURI = gs.action.getGlideURI(); + } catch(e) { + return; + } + + var view_name = gURI.get('sysparm_view'); + + if (view_name == TARGET_VIEW_NAME) { + var validationErrors = []; + + for (var i = 0; i < FIELD_VALIDATIONS.length; i++) { + var validation = FIELD_VALIDATIONS[i]; + var fieldValue = current.getValue(validation.field); + + if (gs.nil(fieldValue)) { + validationErrors.push(validation.field + ' is required'); + continue; + } + + if (fieldValue != validation.expectedValue) { + validationErrors.push(validation.errorMsg); + } + } + + if (validationErrors.length > 0) { + gs.addErrorMessage(gs.getMessage("Validation failed: {0}", validationErrors.join(', '))); + } + } +})(current, previous); From 3fc79740d953621915073f842afa8ab0cccf4f81 Mon Sep 17 00:00:00 2001 From: prudvi-sai-posetty Date: Tue, 28 Oct 2025 14:31:51 +0530 Subject: [PATCH 3/3] README.md --- .../README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Server-Side Components/Business Rules/Field Validation based on form view in Server side/README.md b/Server-Side Components/Business Rules/Field Validation based on form view in Server side/README.md index 5549907224..84d048fa4c 100644 --- a/Server-Side Components/Business Rules/Field Validation based on form view in Server side/README.md +++ b/Server-Side Components/Business Rules/Field Validation based on form view in Server side/README.md @@ -1 +1,14 @@ ServiceNow business rule for server-side field validation based on form views. + +This ServiceNow business rule provides comprehensive server-side validation for multiple form fields when users access specific form views. The script ensures data integrity by validating that critical fields contain expected values before allowing record submission, making it perfect for enforcing business rules and data consistency across your ServiceNow instance. + +What This Script Does: + +The business rule automatically validates multiple fields against predefined expected values when a specific form view is accessed. Key features include: + +View-Based Validation: Only triggers when accessing a specified form view +Multiple Field Support: Validates multiple fields simultaneously with customizable criteria +Required Field Checking: Ensures mandatory fields are not empty or null +Value Validation: Confirms fields contain expected values according to business rules +User-Friendly Messaging: Provides clear, consolidated error messages explaining all validation failures +Server-Side Security: Performs validation on the server to prevent client-side bypassing