@shchc @Robert_Petitto I’ve started to do a lot of “custom forms” that use temporary columns. (It hasn’t been necessary, but I’ve been setting up these temp columns as user specific columns, because the icon is blue in the data editor and it makes it easier for me to tell that these are my temporary columns.) I’ve done these custom forms largely to avoid the weirdness of the form pop up modal with the android back button, and I prefer to use a floating form button as the submit, compared to the the default submit button at the top right of the screen. When going to this screen, I usually set up a combo action to first pre-fill any temp columns that need to be filled first (but can still be edited by the user), then execute the link to screen action to open the screen. You could do the same thing by duplicating all of the editable user profile columns to act as temporary columns, have an edit button with a set column action and a link to screen action, let the user make their changes, then have a save button with a set column action to write all of those temp column values back to the normal profile columns. One advantage of this is a little more flexibility in performing realtime calculations if needed, and along with the new hint component, the ability to set up more robust error checking of data. Yeah, you lose the ‘required’ field ability compared to a form or edit screen, but you can also hide or show the save button depending on if all requirements are met to submit/save.
One awesome advantage I discovered last night for my app is that I always had the need to save a Lesson Name. That lesson name also has an associated rate attached to it. Unfortunately, I had to get the rate through a relation once the form was submitted, but if that related rate would ever chang, then it would screw up any old lessons that were charged under the old rate. That’s because a choice component can’t write multiple values to multiple columns, so I had to either store the lesson name or rate. I chose name. Now with the solution above, I can use a relation against those temp columns in real time to always get the lesson rate once the lesson name is selected. This allows me to show the rate in real time before my “custom form” is submitted. This also allows me to have that date available to permanently write the Lesson Name as well as the Rate to the sheet through an Add Row action. Now I won’t have to use a relation to get the associated rate. It will be written and saved permanently.
In the end, this still gives users a chance to back out of any changes. They can skip hitting the Save action button and just got the back button without committing to any of the changes.