Ein Loop ist unbedingt erforderlich, da sonst alles nur einmal überprüft wird und ggf. nicht alle Felder ausgefüllt werden. Da ist es auch egal, wie ich die Schleife abfrage.
...
Ich sagte doch, mach die Abfrage (normale If-Abfrage, kein Loop) jedesmal, wenn sich der Textbox-Inhalt ändert. Dann brauchst du garkeinen Loop. Dann wird, wenn der Anwender sein Eingabe korrigiert, automatisch die Überprüfung gestartet.