Bug when Saving Multi Page form - ignores future required fields

I'm hoping I just have something set wrong, but if not, I believe I found a bug when saving a form.

I have a multipage form (using Show fields for the different pages).  With required fields on all the pages.  For the "Show field" I use for page 2 I have the Show if validate that a certain field is not blank (so the user can't advance without completing the question).

Because of that "show field" for page 2 is false when the field is not completed, the form defaults to show the "Cancel" and "Save" buttons.  This makes sense for cases where maybe you want to allow saving a partial form based on validation, but this is weird the weird part comes in.

If I click save, it correctly says you are missing a required field,

TheWorkFlow_0-1707493624950.png

If I make my selection to satiate the requirement, the save button persists and allows me to actually save the data, despite the second page now being available, and having required fields on the second page.

TheWorkFlow_1-1707493729304.png

If I navigate to the next page by clicking the tab on top, instead of clicking save it takes me to the next page and then requires the correct fields on that page.

If I do not click save before making my selection, and first make the required selection, then the "save" button changes to "next" as expected.  

I understand the value of being able to protect future required fields behind a show validation for complex form triaging, but it seems to be a bug that the "save" button persists just because I tried to click it already and ignores the now required fields on the newly available page.

Is it a bug, or what am I missing?

 

Note: I understand that removing the Showif() on the Page Header (show field) for page 2 of the form will resolve this in the sense that the user will only ever see the "next" button until the last page.  However, I expected the form to honor all required fields once they are shown, which is why I'm not sure if there's a logic reason for this or if it's a bug.

0 4 189
4 REPLIES 4

You may not be disabling that tab correctly.  All you need to do is set the Show_If property of the Show Type column that creates that tab.  Show_If of FALSE will disable the tab and all columns on that tab.  Show-If of TRUE enables the tab activating the "Required" properties of those fields.

I have a multi-tab form the opeates in the same basic manner and have not experienced any issues. It is used daily by 100+ people.  It has 3 tabs and the third tab is initially disabled (Show_If = FALSE) until a status field is set to "complete" then the tab is enabled (Show_If - TRUE).

I hope this helps!

 

Thanks.  I don't have an issue with it displaying or not correctly based on the show if.  But the fact that it allows the user to save the form even though there is a shown required field on a future page is the issue. 

Since you have a similar form set up though I would be grateful if you could test as I described though.  

Example replication steps:

Assumption: All future tabs are hidden unless some question on page 1 is notblank.  This question is required.

  1.  Form will show save on bottom of page 1 because all other pages are hidden.  Click Save without filling anything out (you will get your validation error).
  2. Complete page one of form.  Remaining pages will now be available, but do not click them.
  3. Save button will still show on bottom (even though it should have changed to next)
  4. Click save.  

In my experience the Save button remains and allows user to save.  Let me know if you experience the same thing.

I am a bit confused,  you said this...


@TheWorkFlow wrote:

Assumption: All future tabs are hidden unless some question on page 1 is notblank.  This question is required.


and then you said this...


@TheWorkFlow wrote:

Complete page one of form.  Remaining pages will not be available, but do not click them.


This situation should NOT happen if you have the expressions implemented correctly.  In other words, based on the assumption above, when the required question is completed, the second Tab should be immediately enabled/shown and the Save button moved to Tab 2.  But this doesn't happen automatically.  it needs to be controlled by expressions.

The easiest way to accomplish the "assumption" is to hide Tab 2 by implementing an expression in the Show_If of that Tab's SHOW column.

So let's say you have these columns:

  1. Tab 1 Show
  2. Some Question - required
  3. Tab 2 Show
  4. Another Question - required

Set the Show_If of the column "Tab 2 Show" to the expression ISNOTBLANK([Some Question])

When the Form opens, Tab 2 will be hidden/disabled and the Save button will show at the bottom of Tab 1.  Tapping Save will prompt you fill out [Some Question].

Once the column [Some Question] is filled in, the Form will adjust to display/enable Tab 2 and the Save button will immediately move to Tab 2 and be replaced by a Next button on Tab 1.

Going to TAb 2 and tapping Save at this point will prompt you to fill in [Another Question].  Fill in [Another Question], tap Save and the row will be successfully saved.

I hope this helps!  If you are still having trouble please show us how you are attempting to display Tab 2 when Tab 1 has been filled in.

 

The "not" was a typo.  It was meant to say "now"

"remaining pages will now be available, but do not click them"

So with that said, I have it setup exactly like you said.  As I've described it's not about showing the second tab, it's about the fact that the "Save" button persists in a specific situation (as described above, if you click save without filling anything out, get a validation error, resolve validation issue on page 1, then click save again (i.e. Save didn't change to next).

My apologies for the typo, as I understand how that sent you down the wrong path.  I think my screen shots pretty clearly show what I've described.

If you're willing to test as I've described, let me know how it goes.  Otherwise, thanks for the effort!

For clarity.  Steps for testing based on previously described set up

  1. Open form click save without filling anything out. 
  2. Resolve validation error
  3. Report on whether "save" button changes to "next" as expected.
Top Labels in this Space