Skip to content

Conversation

@mandeepkaran
Copy link
Contributor

PR Description:

Smart Field Validation and Dependent Field Derivation Using GlideElement.getError()

This contribution demonstrates how to pass validation context and error messages between multiple Business Rules using the GlideElement.setError() and GlideElement.getError() methods.

The idea helps developers avoid redundant validation logic across Business Rules while enabling context-aware field derivation.

In this example:

The first Business Rule (Order 100) validates the short_description field and sets an error message if it’s too short.

The second Business Rule (Order 200) reads the error using getError() and performs dependent logic—such as populating a category or impact field—only if no error exists.

This approach improves performance, reduces code duplication, and maintains consistent validation handling across rules.

Pull Request Checklist

Overview

  • Put an x inside of the square brackets to check each item.
  • I have read and understood the CONTRIBUTING.md guidelines
  • My pull request has a descriptive title that accurately reflects the changes and the description has been filled in above.
  • I've included only files relevant to the changes described in the PR title and description
  • I've created a new branch in my forked repository for this contribution

Code Quality

  • My code is relevant to ServiceNow developers
  • My code snippets expand meaningfully on official ServiceNow documentation (if applicable)
  • I've disclosed use of ES2021 features (if applicable)
  • I've tested my code snippets in a ServiceNow environment (where possible)

Repository Structure Compliance

  • I've placed my code snippet(s) in one of the required top-level categories:
    • Core ServiceNow APIs/
    • Server-Side Components/
    • Client-Side Components/
    • Modern Development/
    • Integration/
    • Specialized Areas/
  • I've used appropriate sub-categories within the top-level categories
  • Each code snippet has its own folder with a descriptive name

Documentation

  • I've included a README.md file for each code snippet
  • The README.md includes:
    • Description of the code snippet functionality
    • Usage instructions or examples
    • Any prerequisites or dependencies
    • (Optional) Screenshots or diagrams if helpful

Restrictions

  • My PR does not include XML exports of ServiceNow records
  • My PR does not contain sensitive information (passwords, API keys, tokens)
  • My PR does not include changes that fall outside the described scope

If you need HTML beautified alert box, use this.
UI Page to render the custom alert
These are example ScreenShots for reference
Example Screenshots
…Info.png to Catalog Client Script/CustomAlert/Screenshots/ExampleScreenShotCustomAlertInfo.png
…ertSuccess.png to Catalog Client Script/CustomAlert/Screenshots/ExampleScreenShotForCustomAlertSuccess.png
…rtDanger.png to Catalog Client Script/CustomAlert/Screenshots/ExampleScrenShotForCustomAlertDanger.png
Notes for installation or Implementation
Business rule to add work notes on record if notes for tag entries are allowed.
It is very hard to track who added the tag to the record and when, this will help to manage to understand who has added what tags on record.
Business rule to add work notes on record if notes for tag removal are allowed.
It is very hard to track who removed the tag to the record and when, this will help to manage to understand who has removed what tags on record.
Notes for the implementation
This reverts commit 064f919.
…tion Using getError() and setError() directory
Readme File
Validate Short Description BR
@ravichandra1998g ravichandra1998g self-assigned this Oct 11, 2025
Copy link
Contributor

@ravichandra1998g ravichandra1998g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, Thank you for submitting!

@ravichandra1998g ravichandra1998g merged commit fb93964 into ServiceNowDevProgram:main Oct 11, 2025
1 check passed
@ravichandra1998g
Copy link
Contributor

Hello @mandeepkaran

I have reverted this PR as you have created a new main folder - "GlideElement". There is already GlideElement Folder under Core ServiceNow APIs folder.

please DO NOT create a new folder. use already existing - relevant folders to submit your code snippet.

@mandeepkaran mandeepkaran deleted the mandeepkaran-patch-GE1 branch October 11, 2025 16:39
@mandeepkaran
Copy link
Contributor Author

Hi @ravichandra1998g
Created new PR: #2041

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants