Potentially cancel all other submit handlers after my own I've unshifted my own submit handler to the #submit handler of a node form. I already have a validation handler, so I can't execute my cancelling submit handler there.

Maybe this makes more sense:


my validation
all other validation
my submit handler, which potentially kills the submit process to form_state[rebuild] =&gt; TRUE and try again
all other submit handlers


Is that possible? I can cancel submission if I put my submit logic in a validation, but that's too soon. It should only run when all validation passes.
Ensure that your implementation of hook_form_alter() is the last one to be called. Your implementation of hook_form_alter() can then unshift one validation function and push a second validation function. The second validation function would then have complete information about whether other validation functions objected to saving the node (by calling form_get_errors()).

You can ensure that your your implementation of hook_form_alter() is the last one to be called by implementing hook_module_implements_alter()