# Empty, required (filtered) choice component preventing form submission

**URL:** <https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205>\
**Category:** Ask for Help\
**Created:** [February 3, 2021, 7:59pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205 "2021-02-03T19:59:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rasha](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/rasha/32/4585_2.png) [@Rasha](https://community.glideapps.com/u/Rasha)\
**Post date:** [February 3, 2021, 7:59pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/1 "2021-02-03T19:59:08Z")

</div>

Three choice components in use here, all required. As illustrated, options selected in choice components 1 & 2 could mean there is nothing to select in choice component 3. Because it is required, a user cannot submit the form.

It’s also visually odd as it’s not handled by the form as a **non-selected state.**

  

![can'tsubmit](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/8/b/8b4d4f671151961a5e3717c49f5083f1903993f2.gif)

  

**Suggestion:**

“Requirement” as **feature** for choice components. Full feature options:

1/ Filter  
2/ Sort  
3/ Visibility  
4/ Requirement  
→ _Set condition for when component is required_  
(+) add condition (here, make available filtering by screen)

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [February 3, 2021, 9:32pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/2 "2021-02-03T21:32:27Z")

</div>

Are the choice component values determined from dynamic relations?

> [@Rasha](#):
>
> options selected in choice components 1 & 2 could mean there is nothing to select in choice component 3

---

<div class="post-metadata">

**Author:** ![dinomeg](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/dinomeg/32/20650_2.png) [@dinomeg](https://community.glideapps.com/u/dinomeg)\
**Post date:** [February 3, 2021, 9:41pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/3 "2021-02-03T21:41:26Z")

</div>

If there are not many possible options you could create a visibility condition for the 2nd choice to only show if certain selections are made in choice 1 and the 3rd only shows if certain selections are made in choice 2. I have a couple of items that would be required if the conditions for their visibility are fulfilled and I haven’t had an issue with it so far.

---

<div class="post-metadata">

**Author:** ![Rasha](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/rasha/32/4585_2.png) [@Rasha](https://community.glideapps.com/u/Rasha)\
**Post date:** [February 3, 2021, 9:48pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/4 "2021-02-03T21:48:15Z")

</div>

No, but I see why might think that.

I was suggesting “requirement” as one more choice feature.

1/ Filter  
2/ Sort  
3/ Visibility  
4/ Requirement  
→ _Set condition for when component is required_  
(+) add condition (here, make available filtering by screen)

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [February 3, 2021, 9:48pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/5 "2021-02-03T21:48:27Z")

</div>

Right…the only way to submit would be to hide that third choice component when it’s not needed. If the first two are simply showing value based on screen filtering then this is not possible, however, if you create that filtering logic in the GDE via relation columns, then you can hide the third box when that third relation is empty.

---

<div class="post-metadata">

**Author:** ![Rasha](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/rasha/32/4585_2.png) [@Rasha](https://community.glideapps.com/u/Rasha)\
**Post date:** [February 3, 2021, 9:50pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/6 "2021-02-03T21:50:51Z")

</div>

I think you mean manipulating visibility on component itself? that would yield a peekaboo type UX where component appears/disappears based on a selection – not ideal.

---

<div class="post-metadata">

**Author:** ![dinomeg](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/dinomeg/32/20650_2.png) [@dinomeg](https://community.glideapps.com/u/dinomeg)\
**Post date:** [February 3, 2021, 9:58pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/7 "2021-02-03T21:58:52Z")

</div>

Yeah, that’s sort of what I was thinking so it sounds like that wouldn’t work for you.

I like Robert’s idea of filtering the relations columns though. That sounds interesting.

---

<div class="post-metadata">

**Author:** ![Rasha](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/rasha/32/4585_2.png) [@Rasha](https://community.glideapps.com/u/Rasha)\
**Post date:** [February 3, 2021, 10:08pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/8 "2021-02-03T22:08:05Z")

</div>

Of course, it’s an alternative. But in my case it leads to the same tricky spot. I need for that 3rd choice component to be there. If a user makes a difference selection in component 1 & 2, they will have a 3rd choice (a required one). So I can’t pre-emptively get rid of that 3rd component before the form loads. I just need to disable the requirement when it’s not necessary to make a 3rd selection.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [February 3, 2021, 10:37pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/9 "2021-02-03T22:37:25Z")

</div>

Could you still have the “peekaboo” UX but instead of showing nothing you instead show a third choice component that’s not required?

---

<div class="post-metadata">

**Author:** ![Rasha](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/rasha/32/4585_2.png) [@Rasha](https://community.glideapps.com/u/Rasha)\
**Post date:** [February 3, 2021, 10:44pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/10 "2021-02-03T22:44:54Z")

</div>

you mean this?

Feels a little dangerous but I set up an ITE column to fake a DATA default value for the 3rd choice component (if Option 3’s value is empty, then empty character, else Option 3’s value).

Now default is a blank that’s not truly a blank. Still required but can submit. Meh.

---

<div class="post-metadata">

**Author:** ![Rasha](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/rasha/32/4585_2.png) [@Rasha](https://community.glideapps.com/u/Rasha)\
**Post date:** [February 3, 2021, 10:51pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/11 "2021-02-03T22:51:04Z")

</div>

hmm. you mean in total 4 choice components: 3 required, 1 not. Hide one of the required components when a selection is not required?

---

<div class="post-metadata">

**Author:** ![dinomeg](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/dinomeg/32/20650_2.png) [@dinomeg](https://community.glideapps.com/u/dinomeg)\
**Post date:** [February 3, 2021, 10:55pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/12 "2021-02-03T22:55:56Z")

</div>

Can you add another line to the choice component that says “No Selection” so then if they choose 1 and 2 then you can still show them something that they can choose so they can move on with the form but it isn’t new data you have to worry about?

---

<div class="post-metadata">

**Author:** ![Rasha](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/rasha/32/4585_2.png) [@Rasha](https://community.glideapps.com/u/Rasha)\
**Post date:** [February 3, 2021, 11:16pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/13 "2021-02-03T23:16:56Z")

</div>

Thanks! Text is actually much better than an empty character. I’d even go for the dash used in the default non-selected states. Oddly, the only thing an ITE column will get me in a default is a blank value regardless of what I use in “THEN”

---

<div class="post-metadata">

**Author:** ![dinomeg](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/dinomeg/32/20650_2.png) [@dinomeg](https://community.glideapps.com/u/dinomeg)\
**Post date:** [February 3, 2021, 11:28pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/14 "2021-02-03T23:28:01Z")

</div>

Great! I hope that works out for you 🙂

---

<div class="post-metadata">

**Author:** ![Rasha](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/rasha/32/4585_2.png) [@Rasha](https://community.glideapps.com/u/Rasha)\
**Post date:** [February 3, 2021, 11:40pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/15 "2021-02-03T23:40:48Z")

</div>

It’s a band-aid. hard to trust what I can’t see.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [February 3, 2021, 11:44pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/16 "2021-02-03T23:44:27Z")

</div>

> [@Rasha](#):
>
> hmm. you mean in total 4 choice components: 3 required, 1 not. Hide one of the required components when a selection is not required?

Yep! Not a perfect solution, but it lets you retain a third choice component that’s not required when it’s not needed for visual consistency.

As for your blank character solution, that’s one approach for sure. I was entertaining the idea (mind you I haven’t tried this ever) to have your choice components (at least the third one) populated via relations in the Glide Data Editor and then if that relation is empty (no choices needed) then do the switcheroo to display the dummy, non-required choice component.

Of course, all this hinges on the fact that the dynamic relations will work within a form…

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [February 3, 2021, 11:44pm UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/17 "2021-02-03T23:44:55Z")

</div>

I like this.

---

<div class="post-metadata">

**Author:** ![Rasha](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/rasha/32/4585_2.png) [@Rasha](https://community.glideapps.com/u/Rasha)\
**Post date:** [February 4, 2021, 12:14am UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/18 "2021-02-04T00:14:25Z")

</div>

I see, I see. This is interesting - haven’t tried dynamic relations either. Option 1 is already a parent/child relation so 2 and 3 can probably be folded into their own. The bad news on visibility is that I can only use values in the destination sheet and user profile to set conditions - not particularly useful.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [February 4, 2021, 12:27am UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/19 "2021-02-04T00:27:00Z")

</div>

> [@Rasha](#):
>
> The bad news on visibility is that I can only use values in the destination sheet and user profile to set conditions - not particularly useful.

Bah…yeah, you’re right on this one… ina form you get the destination sheet not the source sheet.

---

<div class="post-metadata">

**Author:** ![Rasha](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/rasha/32/4585_2.png) [@Rasha](https://community.glideapps.com/u/Rasha)\
**Post date:** [February 4, 2021, 12:57am UTC](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205/20 "2021-02-04T00:57:28Z")

</div>

yeah just tested with dynamic relations. They too work with choice components (good to know!) but same visibility issue. Thanks for trying!

[Next page](https://community.glideapps.com/t/empty-required-filtered-choice-component-preventing-form-submission/22205.md?page=2)
