That worked perfectly and it even persists the error messages, which means I can remove the &quot;drupal_set_message&quot; line I had included.<br><br>Thank you Saint-Genest, for the help and not shrugging me off and telling me to go to the support list like David did (which I did and did not receive a response). 
<br><br><div><span class="gmail_quote">On 10/31/07, <b class="gmail_sendername">Saint-Genest Gwenael</b> &lt;<a href="mailto:gwenael.saint-genest@makina-corpus.com">gwenael.saint-genest@makina-corpus.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;Your &quot;drupal_goto()&quot; doesn&#39;t work because at this point the value
<br>of $_REQUEST[&#39;destination&#39;] is already set [1]. So your drupal_goto()<br>will reload the page but not with &#39;user&#39;. After reload no validation<br>is needed, your function is not called :(<br><br><br>I think, a quick solution is to unset &#39;destination&#39; value before
<br>calling drupal_goto() :<br><br> function myutility_user_login_validate($form_id, $form_values) {<br>&nbsp;&nbsp; user_login_validate($form_id, $form_values);<br>&nbsp;&nbsp; if (count(form_get_errors()) &gt; 0) {<br>&nbsp;&nbsp;&nbsp;&nbsp; unset($_REQUEST[&#39;destination&#39;]);
<br>&nbsp;&nbsp;&nbsp;&nbsp; drupal_set_message(&#39;test error message&#39;);<br>&nbsp;&nbsp;&nbsp;&nbsp; drupal_goto(&#39;user&#39;);<br>&nbsp;&nbsp; }<br><br>It&#39;s not a beauty solution but i think it&#39;s the simplest :)<br><br>Gwen<br><br><br>[1] <a href="http://api.drupal.org/api/function/drupal_goto/5">
http://api.drupal.org/api/function/drupal_goto/5</a><br><br><br>John Barreiros wrote:<br>&gt; Hi<br>&gt;<br>&gt; First, I realize what I&#39;m doing isn&#39;t the most usable, but it&#39;s how the<br>&gt; client wants it.
<br>&gt;<br>&gt; On the homepage, the user login block is styled all fancy and compact.<br>&gt; Unfortunately, it&#39;s compactness prevents a place for an error message if the<br>&gt; user messes up their username or password.
<br>&gt;<br>&gt; So, what I&#39;d like to do, when the form fails validation, is redirect the<br>&gt; user to &quot;/user&quot; which displays the regular login form along with the error<br>&gt; messages that would of displayed within the block.
<br>&gt; I tried the following (in my own module),<br>&gt;<br>&gt; function myutility_form_alter($form_id, &amp;$form) {<br>&gt;&nbsp;&nbsp; switch ($form_id) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; case &#39;user_login_block&#39;:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $form[&#39;#validate&#39;] = array(&#39;utility_user_login_validate&#39; =&gt;
<br>&gt; array($form_id, $form));<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unset($form[&#39;links&#39;]);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&gt;&nbsp;&nbsp; }<br>&gt; }<br>&gt;<br>&gt; function myutility_user_login_validate($form_id, $form_values) {<br>&gt;&nbsp;&nbsp; user_login_validate($form_id, $form_values);
<br>&gt;&nbsp;&nbsp; if (count(form_get_errors()) &gt; 0) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; drupal_set_message(&#39;test error message&#39;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; //print &quot;here&quot;;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; drupal_goto(&#39;user&#39;);<br>&gt;&nbsp;&nbsp; }<br>&gt; }<br>&gt;<br>
&gt; The drupal_goto doesn&#39;t seem to work here. I&#39;m fairly confident the code is<br>&gt; making it to the drupal_goto because if I uncomment the &quot;print&quot; statement is<br>&gt; does get called and prints out &quot;here&quot;.
<br>&gt;<br>&gt; Any ideas why drupal_goto isn&#39;t working in this case?<br>&gt;<br>&gt; Thanks for the help.<br>&gt;<br><br></blockquote></div><br>