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

Hi, I just checked and inside the Service Portal when the variable set is empty, it simply returns an empty string. If it is filled, it will return a JSON of the array.

So the check for the portal would be

g_form.getValue('internal_name_of_variable_set') == ''

Laurent,

Thank you for this posting this. I have added this script to a Catalog Client Script in a separate Variable Set so it can be added to multiple catalog items. This should work well for our London upgrade.

Perfect! Thank you!

Hi Laurent,

I have tried your code in my client script but it gives me a console error in javascript. This is my script:

function onSubmit() {
   //Do not submit if record is empty for multi-row variable set
   if(g_form.getValue('gaf_add_server') == ''){
        g_form.addErrorMessage('Please enter at least one record before submitting!');
        return false;
    }
    else{
        g_form.clearMessages();
    }
}

Many thanks Laurent - this has resolved the similar problem I had with this

 

Regards

Dave