I have searched for what feels like hours for an answer to this, or research to support a direction.

We are using a wizard for customer creation. Currently the user can navigate between steps using 'Next' and 'Back' buttons, as well as clicking directly on a previous step in the progress bar. I have questions around validation.

  • We validate and save on 'Next'
  • When a user clicks 'Back', do we validate and save current step?
  • When a user jumps back to a previous step and then forward to another using stepper/progress bar at top, do we validate and save current step? (I saw one example online where any move using the stepper didn't save or validate, and it didn't tell the user it's not saving)

My initial thoughts were that if the user goes back to a previous step using the stepper, the steps ahead would become greyed out as any changes may impact future steps (not always the case), so they have to navigate forward only using 'Next'. But then that is inconsistent if they can use the stepper to go back and only 'Next' to go forward. Any ideas or advice would be appreciated! :)

3 Answers 3


In the overall I guess would be nice to have validation to occur at three stages: initial validation, after-typing validation, and on-navigation validation so to actually avoid many back and forth.


To answer your questions:

  1. Yes, validate and save on 'Next'.
  2. No, don't validate and save when the user clicks 'Back'.
  3. It depends. You can either automatically save and validate the current step or warn the user that changes might not be saved when they jump using the stepper. Choose what works best for your wizard.

If you expect your user to jump back and forth a bunch, you probably want to always save the input and also validate without blocking.

In other words, if something is missing or incorrect, you can say show a warning ("<field> is incorrect. [fix now] [continue and fix later]") and only once the user reaches the end of the flow and is about to submit, you stop them and make them fix whatever errors there are left.

If the exact state the user may end up with is unclear to the user (eg they filled out a page which isn't actually needed and the user now is wondering if they need to go back and delete all of it), you may also want to show a "review" screen which shows exactly what will be sent once they hit "submit".


When a user steps back, do not evaluate that would be very confusing. But whenever a user steps forward, evaluate.

If the user stepped back and made no changes, then stepped forward, the evaluation code won't bother them since they haven't done anything that could potentially cause the validation to fail.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.