the code i used above, will re-show the form as long as they have errors, even if its 100 submissions later.
basically, the steps is that it first checks to see if the form is submitted, if it is, it then checks for errors, then if errors are present it redisplays the form.
IF form_not_submitted
display form
ELSE
check for errors
IF there_are_errors // doesnt know or care how many times submitted
show form
ELSE
process data
END IF
END IF