Requirements are:
- User should be able to visit all previous steps in any random order.
- User should not be able to go forward beyond the step after last completed step.
- User should not be able to go forward beyond an incompleted/invalidated step.
Example 1:
User receives an error from server on step 3, say field 3A is too short, goes to step 2, changes field 2A and submits and ends up on step 3. Field 3A should display the short value and the error markup.
Example 2:
User goes back to step 3 from step 4. Enters an invalid value in field 3A clicks on submit and receive an error from server (field value too short) and remains on step 3. He then uses browser button to go forward to step 4. Server-side code should detect that step 3 is invalid and return the user to the step 3.
Requirements are:
Example 1:
User receives an error from server on step 3, say field 3A is too short, goes to step 2, changes field 2A and submits and ends up on step 3. Field 3A should display the short value and the error markup.
Example 2:
User goes back to step 3 from step 4. Enters an invalid value in field 3A clicks on submit and receive an error from server (field value too short) and remains on step 3. He then uses browser button to go forward to step 4. Server-side code should detect that step 3 is invalid and return the user to the step 3.