Hi Sam, welcome to these forums.
I recommend sticking with your original design, where you hookup the confirm() command into the onclick event of your button. Simply be sure that your button also generates the necessary client-side javascript that validation would have written. To do this, setup the page without the confirm command code and use View Source to see the HTML generated on the <input type=submit onclick=[code here]/>. Steal that code and use it after your confirm() command returns true.
If you actually don't want the validators to fire on this command, you can set CausesValidation to false on this button. It no longer adds its own onclick code.
FYI: My product,
Professional Validation And More, greatly enhances what you can do with validation, including putting up a confirm message when the page is submitted.