Make Multi-row variable set mandatory and limit number of entries

Eash1
Tera Expert

Hello Experts,

I am using Multi row variable set in my catalog item and it works perfect but i am stuck on below 2 requirements.

Does anyone have any insights to it ?

 

  • How to make sure at-least one entry is selected as part of Multi row variable set. I tried to do a on-submit and later read through docs that it is not supported
  • How to limit number of entries ? like just 10

Thank you,

Easwar

1 ACCEPTED SOLUTION

LaurentChicoine
Tera Guru

Hi Easwar,

I was looking to make a sure at least one entry exist in the multi row variable set. I don't know if you found a way to it.

I came with the solution of a on submit client script (I think what the doc refers to is for on submit that would run after each entry being added). Here is a code snippet that I was able to use to make sure there is at least one row:

function onSubmit() {
	if(g_form.getValue('internal_name_of_variable_set') == '[]'){
		g_form.addErrorMessage('You must enter at least 1');
		return false;
	}
}

g_form.getValue returns a JSON of the variable set, so simply by checking if it is an empty array, I was able to block submission in that case.

 

I think you could solve your second requirement with this (parsing the JSON and doing a length validation: array.length < 11). However this is not the best User experience as you are checking this on submit while the user already entered more than 10 entries.

View solution in original post

25 REPLIES 25

Pooja Mallikarj
Kilo Sage

Hi Eash,

 

You cannot select variables of a multi-row variable set when defining the following for a catalog item:

  • UI policy conditions
  • Unsupported ATF step configurations. You can only validate if a multi-row variable set is visible, mandatory, or read only.
  • Reporting

 

 

You can refer the following link for better understanding of multi row variable set.

 

https://docs.servicenow.com/bundle/london-it-service-management/page/product/service-catalog-management/concept/c_ServiceCatalogVariableSets.html

 

 

Please mark correct/helpful  if it helps for you.

 

Thanks & Regards,

Pooja Biradar

LaurentChicoine
Tera Guru

Hi Easwar,

I was looking to make a sure at least one entry exist in the multi row variable set. I don't know if you found a way to it.

I came with the solution of a on submit client script (I think what the doc refers to is for on submit that would run after each entry being added). Here is a code snippet that I was able to use to make sure there is at least one row:

function onSubmit() {
	if(g_form.getValue('internal_name_of_variable_set') == '[]'){
		g_form.addErrorMessage('You must enter at least 1');
		return false;
	}
}

g_form.getValue returns a JSON of the variable set, so simply by checking if it is an empty array, I was able to block submission in that case.

 

I think you could solve your second requirement with this (parsing the JSON and doing a length validation: array.length < 11). However this is not the best User experience as you are checking this on submit while the user already entered more than 10 entries.

Thank you LAurent. This helps

Can you please let me know on how did you work on the second requirement. Can you please share the code ?