in the NextButtonClick or finishButtonClick, or whatever click event, first check if the page isValid and then exit the function, by using the return keyword, if it is not.
e.g.,
protected void Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e)
{
// re-validate using all of the validation controls
if (!Page.IsValid)
{
e.Cancel = true;
return;
}
... etc...
}