onSaveUser event - cannot redirect or access errors I've written a plugin which intercepts the user.onSaveUser event. 

However if the save fails the user is still redirected to the page specified in the 'redirect' parameter/field of the form. How do I redirect them back to the form with errors and then access those errors? 

I've tried craft()-&gt;urlManager-&gt;setRouteVariables() but still being returned to the page/URL specified in the original form. If I remove the redirect field from the front-end form I am redirected to the form on error but cannot access the errors sent in craft()-&gt;urlManager-&gt;setRouteVariables().

Any thoughts on how to specify the redirect destination depending on success/fail and also how to send/access the offending error messages in my original template?
As your code is running during an event, returning the request to the page has to be done a bit more explicitly than when you are performing similar behavior in a controller.

While I'm probably not the best person to explain this in detail, the code below gives one example I was provided in how you can set your route variables and end the request:

if ($errors)
{
    craft()-&gt;urlManager-&gt;setRouteVariables(array(
        'errors' =&gt; $errors
    ));

    $route = craft()-&gt;urlManager-&gt;parseUrl(craft()-&gt;request);
    craft()-&gt;runController($route);
    craft()-&gt;end();
}