In certain forms that take a fair amount of time to load/check_logic it is possible for a brief moment to navigate to the next step, before required fields are visible.
This causes a "call did not validate on the backend" error when submitting.
The issue is reproducible while the check_logic has not yet returned a response, the user is allowed to navigate to the next step. This means if the check_logic returned fields that are required, the user has essentially skipped them.
The scenario where it's easiest to replicate this is a large form, and a selectboxes component with many answers. each answer should make a field set visible with required fields through back-end logic.
When the user selects a answer and clicks "Next" right away - the form will navigate to the next step, but the field set will be taken into consideration when submitting.
Although it's somewhat reproducable - it seems dependant on both the form but also network conditions. So perhaps a solution for this could be a clear indication on what answers still need to be completed - instead of a generic error.
Proper error feedback suggestion: yes, let's do this. This was now done haphazardly because we had to rush the 2.6 release
The actual race condition/state update/checking etc. is much harder because of the integration with the formio renderer and dispatch events. etc, so for that I assiged the form renderer label. The code for that module/component is very fragile and I'm scared to touch it.
Product versie / Product version
2.6.x - 2.7.x
Customer reference
No response
Omschrijf het probleem / Describe the bug
In certain forms that take a fair amount of time to load/check_logic it is possible for a brief moment to navigate to the next step, before required fields are visible. This causes a "call did not validate on the backend" error when submitting.![image](https://github.com/open-formulieren/open-forms/assets/112621537/81843f11-c2d2-442e-a7cb-190fa08a1885)
The issue is reproducible while the check_logic has not yet returned a response, the user is allowed to navigate to the next step. This means if the check_logic returned fields that are required, the user has essentially skipped them.
The scenario where it's easiest to replicate this is a large form, and a selectboxes component with many answers. each answer should make a field set visible with required fields through back-end logic.
When the user selects a answer and clicks "Next" right away - the form will navigate to the next step, but the field set will be taken into consideration when submitting.
Although it's somewhat reproducable - it seems dependant on both the form but also network conditions. So perhaps a solution for this could be a clear indication on what answers still need to be completed - instead of a generic error.![image](https://github.com/open-formulieren/open-forms/assets/112621537/98de9a9c-21de-4634-a2c5-b4f07eb6158b)
Stappen om te reproduceren / Steps to reproduce
No response
Verwacht gedrag / Expected behavior
No response
Screen resolution
None
Device
None
OS
None
Browser
No response