From 0700e740d3a9b470fb2246f370ddcb1941c9222d Mon Sep 17 00:00:00 2001 From: Dhruv Yadav <43941048+Dhruvyadav2000@users.noreply.github.com> Date: Wed, 22 Oct 2025 16:20:25 +0530 Subject: [PATCH 1/3] Add dedicated README for onSubmit email validation script --- .../Email Validataion on Submission/README.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Client-Side Components/Catalog Client Script/Email Validataion on Submission/README.md diff --git a/Client-Side Components/Catalog Client Script/Email Validataion on Submission/README.md b/Client-Side Components/Catalog Client Script/Email Validataion on Submission/README.md new file mode 100644 index 0000000000..c8bc8cdd9a --- /dev/null +++ b/Client-Side Components/Catalog Client Script/Email Validataion on Submission/README.md @@ -0,0 +1,36 @@ +## Add on Submission Email Validation for Catalog Items + +### Summary +Implements onSubmit email validation client script that prevents incorrect email entries from being submitted when a user submits a catalog item. + +### Changes +- **onSubmit Validation Script**: Email format validated during catalog item submission. +- **Dedicated README**: Implementation guide for catalog form submission validation. + +### Features +- Prevents form submission if email format is invalid +- Dynamic error/success messages +- Uses regex pattern for standard email format +- Lightweight and fully client-side — no server calls + +### User Experience +- **Invalid email**: Red error message with example format +- **Valid email**: Form submission proceeds normally +- **Empty field**: No validation triggered +- Reduces user frustration on submission + +### Benefits +- Ensures only valid email addresses are submitted +- Errors corrected before form submission +- Better data quality in catalog requests +- Reduces form abandonment rates + +### Testing Checklist +- [ ] Valid email formats proceed with form submission normally +- [ ] Invalid formats display error message +- [ ] Messages clear dynamically on input change +- [ ] No validation during form load +- [ ] Empty fields handled correctly + +### Setup +Replace `'email_field_name'` with actual variable name in script before deployment. From a3dbe0910693514ba30977c7dc6a821347c053f8 Mon Sep 17 00:00:00 2001 From: Dhruv Yadav <43941048+Dhruvyadav2000@users.noreply.github.com> Date: Wed, 22 Oct 2025 16:22:18 +0530 Subject: [PATCH 2/3] Add onSubmit email validation client script --- .../email_validation_onSubmit.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Client-Side Components/Catalog Client Script/Email Validataion on Submission/email_validation_onSubmit.js diff --git a/Client-Side Components/Catalog Client Script/Email Validataion on Submission/email_validation_onSubmit.js b/Client-Side Components/Catalog Client Script/Email Validataion on Submission/email_validation_onSubmit.js new file mode 100644 index 0000000000..25e47cd289 --- /dev/null +++ b/Client-Side Components/Catalog Client Script/Email Validataion on Submission/email_validation_onSubmit.js @@ -0,0 +1,19 @@ +function onSubmit() { + // Get the email field value + var email = g_form.getValue('email_field_name'); // Replace 'email_field_name' with your actual field name + + // Check if email field has a value + if (email) { + // Regular expression for email validation + var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; + + // Test the email against the pattern + if (!emailPattern.test(email)) { + g_form.addErrorMessage('Please enter a valid email address'); + g_form.showFieldMsg('email_field_name', 'Invalid email format. Example: user@example.com', 'error'); + return false; // Prevent form submission + } + } + + return true; // Allow form submission +} \ No newline at end of file From 31dc42a7e06f49b0fda73e8987f48b2821ef9c0b Mon Sep 17 00:00:00 2001 From: Dhruv Yadav <43941048+Dhruvyadav2000@users.noreply.github.com> Date: Wed, 22 Oct 2025 16:34:11 +0530 Subject: [PATCH 3/3] Updated README file for onSubmit validation --- .../Email Validataion on Submission/README.md | 63 ++++++++++--------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/Client-Side Components/Catalog Client Script/Email Validataion on Submission/README.md b/Client-Side Components/Catalog Client Script/Email Validataion on Submission/README.md index c8bc8cdd9a..41b29318f5 100644 --- a/Client-Side Components/Catalog Client Script/Email Validataion on Submission/README.md +++ b/Client-Side Components/Catalog Client Script/Email Validataion on Submission/README.md @@ -1,36 +1,39 @@ -## Add on Submission Email Validation for Catalog Items +# ServiceNow Email Validation - onSubmit Script -### Summary -Implements onSubmit email validation client script that prevents incorrect email entries from being submitted when a user submits a catalog item. +## Overview +Email validation client script for ServiceNow catalog items that checks the email format when the user submits a form. This ensures that only valid email addresses are submitted and helps maintain data accuracy. -### Changes -- **onSubmit Validation Script**: Email format validated during catalog item submission. -- **Dedicated README**: Implementation guide for catalog form submission validation. +## Features +- Validates email during form submission +- Displays clear error messages near the field +- User-friendly feedback with examples +- Lightweight and client-side — no server calls required -### Features -- Prevents form submission if email format is invalid -- Dynamic error/success messages -- Uses regex pattern for standard email format -- Lightweight and fully client-side — no server calls +## Implementation +1. Navigate to **Service Catalog > Catalog Client Scripts** +2. Click **New** to create a new script +3. Select your **Catalog Item** +4. Set **Type** to **onSubmit** +5. Set **Variable name** to your email field variable +6. Set UI Type to All +7. Replace `email_field_name` with actual variable name in script +8. Paste the script code +9. Check **Active** checkbox +10. Save -### User Experience -- **Invalid email**: Red error message with example format -- **Valid email**: Form submission proceeds normally -- **Empty field**: No validation triggered -- Reduces user frustration on submission +## Validation Rules +- Required format: `user@domain.com` +- Accepts: letters, numbers, dots (.), underscores (_), hyphens (-) +- Minimum 2-character top-level domain -### Benefits -- Ensures only valid email addresses are submitted -- Errors corrected before form submission -- Better data quality in catalog requests -- Reduces form abandonment rates +## User Experience +- **Invalid Input**: Red error message displayed below field +- **Valid Input**: Form submission proceeds normally +- **Empty Field**: No validation performed +- **While Loading**: No validation triggered -### Testing Checklist -- [ ] Valid email formats proceed with form submission normally -- [ ] Invalid formats display error message -- [ ] Messages clear dynamically on input change -- [ ] No validation during form load -- [ ] Empty fields handled correctly - -### Setup -Replace `'email_field_name'` with actual variable name in script before deployment. +## Benefits +- Prevents submission of incorrect email formats +- Provides errors(if any) before form submission +- Improves data quality +- Enhances overall user experience