Use different groups, and show them based on states.
So I’d use a common state for navigation. You change the state value when the User is progressing/going back through the form… so different groups would show.
Have you thought about splitting your form up into segments via a multi-step wizard which can be controlled via conditional logic and custom states? If I saw a 50 input form form hit me I’d probably abandon ship within secs so breaking it down eases form flow.
Also and as an added note, ensure that your data-type does not carry all 50 options as this could really impact your apps performance on save and data retrieval.
I’m running into this issue right now. Do you know if there’s a way around this? I have a form set up with inputs on a few different hidden groups that are shown when the user clicks the next button. I want to validate that the user has selected an input option before moving on to the next group, but so far I haven’t found any solutions.
I’m thinking I could set a state for each group as well as create a button for each group that becomes ‘clickable’ when the groups custom state is a certain value, but that just seems really messy.
I was just thinking about it this morning and I think you could get it to work. When clicking the next button you can ‘make changes to the thing’ you have saved in a set state (or passed along each group/page). Since you are saving these inputs into your thing each time, if you have the input as ‘required’, it will not allow you to press the next button and it will highlight your inputs that are marked as ‘required’.
Does that make sense? Let me know if I am not understanding your issue correctly.
Sure. after the first button you press will be the ‘create a new thing’.
Every step after that, you would just ‘make changes to a thing’ which would be the first thing you created in the first step. Here is how to access that thing you created already:
To access it throughout your page, you can ‘set a state’ right after the first step when you ‘created a new thing’. Just do the ‘set state’ on the page itself. Make sure the type of the set state is the same type as the thing you just created. Then you will have access to it no matter where you are on the page.
Thanks @J805 and @alexd.ramirez for your responses. I ended up doing something similar to what Alex suggested.
In my workflows, I hide my next button when the page loads and only show the start button. Since my first question has multiple checkbox inputs, I created a condition on the next button which says “when checkbox a is checked, show the next button” and I added multiple OR statements to include all of the checkboxes in that condition.
Ex: when checkbox a is checked or when checkbox b is checked…
Then I added another workflow, this time to my next button, that included an action to hide that button whenever it is pressed. That way, when the user advances to the next question, they would have to select an option first before moving on. In my case, I had several more “pages” of radio button options. For each button I added a workflow with an action that shows the next button when it is pressed. Not a great method if you have 50 inputs like @timlcooley but it works for me.