When a user is clicking a button to save some data, in special situations we want to confirm with them that they know the data doesn't match, so the user has to click "Save" and then click "Save" again to confirm.

Should the confirmation button continue to say "Save", or should it be different such as "Yes, Save anyway"

When first saving...


download bmml source – Wireframes created with Balsamiq Mockups

Then after the user clicked Save with a mismatched State/Area Code...


download bmml source

Update: Changed the example to be closer to the actual situation.

  • Why can't you show that error before they save? You can check this the moment they entered the first three numbers into their phone number.
    – invot
    Mar 11, 2016 at 22:27

3 Answers 3


I don't think either options is ideal.


The problem with keeping is as 'save' is that the user has already performed an action. The user now expect (or predict) that something will happen. Now the error message shows, but now the user has to gather they need to use the same button for something else - to confirm they wish to save. This is confusing, and I wouldn't be surprise if some users will initially think that pressing the save button again will bring up the same error message.

Yes, save anyway

'Yes, save anyway' obviously solves most of the issues above, but can also bring about confusion. First, the eye may be drawn to the red warning, and initially the user will miss the caption that has changed. So the user still thinks that the save button is just save.

Also, I think 'Save anyway' will suffice here.

One control, two actions

In essence, the core of the problem is that you are reusing a control for two different actions: save, and confirmation. User may experiences slight mis-orientation.

Based on my experience with user testing, I fail to see users not completing the task - particularly with the 'Yes, save anyway' option, I reckon all users will figure this one out, and many with relative ease.

It's just that it will take some users some extra time to work things out, which is a core concept in usability - the amount of effort users have to expand (cognitive or physical) in order to perform a task.

Other usability issues.

Before the error message shows, 'Save' means save, and 'Cancel' means I want you to ignore my edit.

But once the message is shown, 'Cancel' can be easily mistaken for 'I've made a mistake and I want to correct it'. So the function of the 'Cancel' under this condition is ambiguous.

In fact, if users wish to correct their mistake, I assume they'll have to click on one of the fields, in which case the error message will disappear and the save button caption will return to 'Save'.

All in all, I think the whole process is not the neatest.

Dead-end navigation

In IA this sort of journey is realised with a pattern some call 'dead-end navigation', meaning on the user is now faced with some (modal) dialog and can't do anything with the system until making a choice (thus dead-end: you can't go anywhere other than back to where you came from). Essentially this:

A screenshot showing a modal dialog asking users to either cancel or open a file.

Since you've mentioned the interface is already a model, you can result to a popup, something like this:

A screenshot showing a popup (delete guard) asking users to confirm they wish to delete something

  • Thanks for the insight, so, what would be your recommendation?
    – Homer
    Sep 17, 2014 at 21:09
  • Just to open a modal dialog.
    – Izhaki
    Sep 17, 2014 at 21:15
  • The Edit form is already a modal dialog. I wouldn't want to open a modal on top of a modal.
    – Homer
    Sep 17, 2014 at 21:26

It looks like the area code mismatch is NOT an error which should halt and prevent the user from saving. I would propose you change the flow a little (see below)

Area Code mismach


  1. Allow the user save if area code does not match the state.
  2. Show a notification (not an error) under field(s) in question.

Such approach will not force the user to save twice and will notify them about a potential issue which they can go an fix instantly.

Additional detail:

I am assuming the form also has an area code field, notice should be visible under both allowing the user to adjust the area code or change the state.


Is the data confirmed after form submission? You can avoid variable button labels if you just validate the state + zip code data after user input. The user can still save the information, but the validation error helps the user understand that they are saving — with a caveat!

  • The data is not saved until confirmation. There are actually 2 buttons, Save and Confirm, but their visibility is changed based on the state of the form.
    – Homer
    Sep 17, 2014 at 21:12
  • Why do they have to "confirm" anything?
    – erik_lev
    Sep 17, 2014 at 21:56
  • The managers want the users to confirm that they are putting in bad data before it is saved. It's a sanity check.
    – Homer
    Sep 18, 2014 at 13:41
  • You can "confirm" that by validating the data on the fly, not doing it after the fact. How does this help the user?
    – erik_lev
    Sep 18, 2014 at 16:35

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.