- User makes a series of entries in text fields on a page that requires apply/cancel buttons.
- Invalid entries are flagged with an error icon and hover-over tooltips that explain the validation error.
- The "apply" button remains disabled until all fields are valid; users cannot apply invalid entries
- BUT the user is still able to navigate away to another page of the software, at which point they receive a dirty flag notification: "You have changed some settings blah blah, would you like to apply them before leaving this page? (Apply/Don't Apply/Cancel)"
- How do we handle the case where the user clicks "Apply" in the dirty flag dialog while they still have invalid entries?
- After they click "apply", they receive an error dialog stating "Some settings are invalid, could not apply" and the invalid entries are rejected, reverting the fields to their previously saved states. After user closes error dialog, they move to their destination page.
We include a message in the dirty flag dialog along the lines of "Only valid entries will be applied, invalid entries will be reverted to last state." When the user clicks "apply" in the dialog, they move to the destination page and only valid entries are applied
Before the dirty flag dialog even appears, the user receives a notification dialog stating "Some entries are invalid, please fix before continuing." They fix the invalid fields and try to leave the page again, at which point they encounter the dirty flag dialog.
We're in a conundrum about which solution is the most elegant. This whole situation is awkward to begin with, considering the few cases where a user would try to leave a page without applying their changes... But yeah, which of these, or others, would best be the most appropriate solution for us?