Hi John,
I think there may be a few ways to accomplish this. The first could be a click or form submit event-based rule with a condition that checks to ensure validation passed. This would depend on how your validation is done and you may need to get creative and create a custom condition if the built-in options are unable to detect the validation.
Another option I'd suggest is to try testing a rule that uses either the "enters viewport" or "element exists" event? If neither of those events works, you could write your own custom event.
Lastly, if you are unable to detect the successful completion of the form in DTM, you could use a direct call rule. Your developers would place a _satellite.track() call in the code that fires on a successful validation. Unfortunately, this would require a page code update.
Cheers,
Jantzen