qRules has a command that can get you an error count, or code can be used for this....
I think for a no-code solution, I'd try to submit the form first, then run the other rules, then submit again. So - if the first submit attempt fails because of the form being invalid, that should stop the rest of the rules (I think - may want to test that to be sure). If it succeeds, as long as your rules aren't going to set anything to an invalid value, the second submit after the rules run should also succeed....