Skip to main content
Participating Frequently
December 12, 2022
Answered

Setting a required field based on a dropdown selection

  • December 12, 2022
  • 1 reply
  • 12218 views

So I've seen a few similar topics but nothing I've been able to try/modify that fit what I need so hoping someone can help me fix this:

  • I have a dropdown menu with 7 options
  • 2 of the 7 options need to make a separate text field REQUIRED
  • If any of the other 5 options are selected the separate field text remains OPTIONAL
  • To try to simplify this I set the Export Values of the 2 required items to REQ and the remainder to X

 

Here's what I have so far:

var spod = this.getField("Dept");

if (event.value=="Req") {

spod.required = true;

}

else if (event.value=="X") {

spod.required = false;

}

 

but each time I select either of the req options the dept field doesnt change. What am I doing wrong?

This topic has been closed for replies.
Correct answer Nesa Nurani

sorry to clarify the field is titled SpoDoM but I changed it to target in my stripped out version. I didn't realie I missed that one so can you clarify where that was? Specifically where I should put that second code. I can add a revised version if that helps


Use script in Dropdown field under 'Validate' tab → 'Run custom validation script'.

If the field name is "TARGET" then just replace "SpoDoM" with "TARGET":

var target = this.getField("TARGET");
target.required = event.value == "Req" ? true : false;
target.readonly = event.value == "Req" ? false : true;

 

If you still have trouble, please share your file.

1 reply

Nesa Nurani
Community Expert
December 12, 2022

Since you set export value you need to use script as calculation not validation.

Participating Frequently
December 12, 2022

Thanks, scripts are pretty foreign to me, how would I go about that?

Nesa Nurani
Community Expert
January 19, 2023

You're a life saver - that worked! Thanks. So to better understand, I did put Req for the values I wanted to make teh SpoDoM active for but based on the script you gave me that turns off and on the field the 'X' wasnt needed? It's pretty much saying if its true that your value is Req then do this, but if your value isnt Req then do that. Is that about right?


Yes, if value is "Req" it will do 1st condition and if anything else it will do 2nd condition.

We can do it like that because you only had two export values "Req" and "X", if you had more values then we would have to use 'else if'.