- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-03-2020 05:46 AM
Hello All,
I am trying to make attachment mandatory in catalog item and service portal. Below script working in catalog item but not working in serviceportal.
We are using Add to cart button in service portal.
function onSubmit() {
//Works in non-portal ui
try {
var attachments = document.getElementById('header_attachment_list_label');
if (attachments.style.visibility == 'hidden' || attachments.style.display == 'none') {
alert('You must attach the completed form before submitting this request.');
return false;
}
}
//For Service Portal
catch (e) {
var count = getSCAttachmentCount();
if (count <= 0) {
alert('You must attach the completed form before submitting this request.');
return false;
}
}
}
Can some please help??
Thanks
Saranya
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-03-2020 07:13 AM
Refer blog below
Verify Mandatory Attachments Count on Catalog Item
Sharing the steps and script here
Script: onSubmit
UI Type - ALL
Applies to Catalog Item - True
Note: Ensure Isolate Script field is set to False for this Catalog Client Script to ensure DOM manipulation works
function onSubmit() {
//Type appropriate comment here, and begin script below
var countRequired = 1;
if(window == null){
// portal
if(this.document.getElementsByClassName('get-attachment').length != countRequired) {
alert('You must attach the completed form before submitting this request.');
return false;
}
}
else{
// native view
var length = $j("li.attachment_list_items").find("span").length;
if(length != countRequired){
alert('You must attach the completed form before submitting this request.');
return false;
}
}
}
Isolate Script: Set to False
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-03-2020 06:37 AM
I would suggest to not use any script for portal .
Updated client script and set UI Type as "Desktop"
function onSubmit() {
//Works in non-portal ui
var attachments = document.getElementById('header_attachment_list_label');
if (attachments.style.visibility == 'hidden' || attachments.style.display == 'none') {
alert('You must attach the completed form before submitting this request.');
return false;
}
}
For Portal , open your catalog form and set "Mandatory Attachment" as true .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-03-2020 07:00 AM
I don't want the whole catalog item for attachment mandatory. When ever user need access request,then add manager approval like.
I need a confirm message if the user "Is this request a Access request?" If yes attachment is mandatory if no then able to submit the form

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-03-2020 07:04 AM
Got it. Did you follow the same step which has mentioned in below thread. Please confirm,
Browser console error indicating you missed something in script, either UI Scripts or some method . Please check the below thread and confirm .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-03-2020 07:12 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-03-2020 07:13 AM
This is UI Scripts method name.