Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Mandatory Checkbox With Red Asterisk

JDX7913
Tera Guru

I am trying to create multiple CheckBox under a Label and have the CheckBox Mandatory (i.e the user must select at least one CheckBox before submitting). Moreover, is it possible to have a red asterisk next to the label as well?  

I was able to get the mandatory CheckBox to work with this tutorial  however it does not have the red asterisk that I am looking for. 

I am looking for something like this:

find_real_file.png

On this:

find_real_file.png

 

Thank you for the help. 

1 ACCEPTED SOLUTION

So here are some screenshots...build 2 onChange Client Scripts.  This works in the ITIL service catalog, but the Service Portal doesn't seem to like it.  Looking at that now:

 

find_real_file.png

 

find_real_file.png

 

 

find_real_file.png

 

 

 


Please mark this response as correct and/or helpful if it assisted you with your question.
Steven

View solution in original post

8 REPLIES 8

Why not mandatory both check boxes (have red asterisks by both), then create 2 OnChange Client Scripts, one for each check box, that when one of the boxes is checked, the other box is set to "mandatory false".

 

OnChange Client Script - Example1 variable

 

var checkboxval = g_form.getValue('variables.example1')

if(checkboxval == 'true'){

g_form.setMandatory('variables.example2', false);

} else {

g_form.setMandatory('variables.example2', true);

}

 

Something like that

 

If you want to allow the user multiple choices (a list and they can choose 1 or more choices from it) then you can use a List Collector variable type and just make it mandatory.


Please mark this response as correct and/or helpful if it assisted you with your question.
Steven

Ok I see what you mean now. 

 

However, I am not familiar with Javascript (I know how to code in C++,C, Java, and Verilog).

This is what I have so far:

function onChange(control, oldValue, newValue, isLoading) 
{
   if (isLoading || newValue == '') 
   {
      return;
   }

   //Type appropriate comment here, and begin script below
   	var checkBox = g_form.getValue('test2');
	var checkBox2 = g_form.getValue('test3');
	
   if (checkBox == 'true')
   {
      g_form.setMandatory('test3', false);
   }
	else
	{
		g_form.setMandatory('test3', true);
	}

	if (checkBox2== 'true')
   {
      g_form.setMandatory('test2', false);
   }
	else
	{
		g_form.setMandatory('test2', true);
	}  
}

My two checkbox variable names are test2 and test3. When I do test the catalog it does not work (i.e both test2 and test3 are mandatory even if either one is selected). I have a feeling I am missing something with the control, oldValue, newValue, isLoading.

Let me build it in my DEV instance and see if I can help


Please mark this response as correct and/or helpful if it assisted you with your question.
Steven

So here are some screenshots...build 2 onChange Client Scripts.  This works in the ITIL service catalog, but the Service Portal doesn't seem to like it.  Looking at that now:

 

find_real_file.png

 

find_real_file.png

 

 

find_real_file.png

 

 

 


Please mark this response as correct and/or helpful if it assisted you with your question.
Steven