For example, querying a map service from Google / ESRI Enterprise GIS / OGC Services / Mapbox.
Where the form submit button is being interrupted to collect data from other user input elements on the page.
For example, the user has been asked to interact with another element. During submit data is collected from the non gravity forms element, loaded into the form, and submitted with the form. If the form validation fails the page is refreshed, and the interaction with the other element is lost. Particularly relevant if the other element is a child iframe, or dynamically created DOM element.
Where the developer does not want the page to refresh to maintain UX consistency.
Back end checking is great for preventing malicious submissions, but from a UX perspective is dated.
What I would like to see:
- JS validation will work with the conditional logic of required fields. So, a required field that is hidden will not throw a validation error. The same as the current back-end validation method.
Example use case:
I have a single page form that has close to 100 data entry fields. Single line, multi line, dropdown, date, number and html. I also have about 15 sections. This form is using data from another form to fill certain sections based upon the users selection. I’m using conditional logic to display sections and data entry elements based upon preceding selections.
I’m also using some 3rd party plugins such as Gravity Flow to control workflows, Tooltips, and Disable Field addons.
What happens if validation fails is that the state of the fields from my form is carried over, but the elements that have been collected for those external applications are lost. For example, the geometry in the maps is lost (can’t be carried because it’s in a dynamically generated child iframe - I’d have to significantly adapt triggers for on page load and preserve state between loads, etc). The same with Tableau.
The community has asked for this before / come up with hacks for individual forms:
I’m seeing results from as far back as 2010/2011.
There is not a single plugin that does this properly. Real Time Validation for Gravity Forms only validates when a field loses focus. Some of the github code repo’s where other users have made an attempt at building this functionality are 7-8 years old and not functional.
This would best be a feature supported by Gravity Forms themselves.