How do I create a "form style screen" with New Screen?

Hello, I’m trying to create a “form style” screen, to be more clear I need to collect some info from the user that only edits a particular row, not creating a new one but a the same time I want to make sure that ALL the info are inserted from the user, like required fields before they can move on and save the changes. Thank you in advance.

I already tried to use New Screen, added the fields related to the data I need to collect (5 questions) and created a button that should only appears when all the fields are “not empty”, but after the second field is “not empty” the button is already visible.

Hey Giovanni,

After reading through your explanation, you are on track.

When placing text entries on a screen like new screen, be aware that the text entered into the text entry is immediately put and saved in the table.

To get around this, you should create temporary columns for each of the fields and write to there. Then your button would only show once all temporary columns are filled.

Clicking the button to move forward then uses the “Set Column Values” action to set the real columns to the value of their temporary counterparts. Then I would also use another set value to then clear the temporary values.

Hope this leads you down the right track!

-Evan Furniss
Glide Certified Expert 2024

Evan is spot on. We Glide Experts affectionately brand this setup a “custom form”. Feel free to search the forums for this phrase and you’ll find quite a bit of discussion about it.

If you need to access this custom form from multiple screens, you can use this hack:

1 Like

Thank you very much guys for your prompt response!

If I’m not mistaken what you mean in the video about custom forms. As far as I know, as long as you create “add new screen” in a custom action rather than a direct action then you can maintain what you created previously. In other words, it is as if you have created another “Detail screen” which is saved. This will save a lot of time if you want to reuse it in some cases.

Use a helper table, a table with 1 row and the same columns you want to update. You can do conditional checks on the data the user is inputting, you can even pull out the initial row data and compare the user input to make sure a value is different than the original one.

At the end set column values to the initial row relation from the values the user inputted.
You can even use css to update the new screen width height to appear like a form.