If it was working before you cannot have had the action of the form set to confirm.php, once the action is set the form will post it's contents to the page set in the action, if the action is blank then it will post to itself that is the way all html forms work regardless of whether they are in a php, asp or cf page.
The users do not need to know where the validation is set as if they make a mistake they will see checkout.php pop up with the validation errors you set.
The workflow is to collect the necessary info on checkout.php pass it to confirm.php if all is good display confirm.php if not bounce them back to checkout.php and display the error messages you set with validation toolkit.
There is a "completed" store in the downloads for ecart that would be worth you looking at to see how this is set-up