Sorry the previously described approach was actually wrong: pageEndRenderer is called after the submit listener...
So it seems the only approach we can have is overriding renderComponent and make use of the IValidationDelegate there. Still strange there isn't any documentation on this.