You can write a custom validator that will read the new values off the request, and compare them against the values in the backing bean.
Remember, your new values will not overwrite the old values until after validation.
Something like this for a
String value (if you are using non-String values you will need to convert your request value to the correct type:
Now you want to do a confirm and then proper submit, to do this you can set a backing bean boolean to true on the first submit and check for it in the validator - if they that value is true you know this is the second submit (the confirm) and you can ignore the validation.