Captcha Failed on Custom Validation I have my own validation on user form login like this :  

if ($form_id == 'user_login') {
        $form['#validate'][] = 'wemusic_user_login_validate';
        $form['#submit'] = array();
        array_unshift($form['#submit'], 'wemusic_user_login_submit');
    }



function wemusic_user_login_validate($form, &amp;$form_state){
    $username = $form['name']['#value'];
    $user = user_load_by_name($username);
    if ($user){
        if($user-&gt;status == "1"){
            $form_state = array();
            $form_state['uid'] = $user-&gt;uid;
            user_login_submit(array(), $form_state);
        }else{

            drupal_goto('registration/confirm', array('query'=&gt;array(
                'user'=&gt;$username,
            )));
        }

    }else{
        drupal_goto('user/register');
    }
} 


with this code CAPTCHA failed , how can I call CAPTCHA validation in my custom function ?
This a improved version of your code 

  if ($form_id == 'user_login') {
        $form['#validate'][] = 'wemusic_user_login_validate';
        $form['#submit'] = array();
        array_unshift($form['#submit'], 'wemusic_user_login_submit');
    }

function wemusic_user_login_validate($form, &amp;$form_state){
    $username = $form['name']['#value'];
    $user = user_load_by_name($username);
    if ($user &amp;&amp; $user-&gt;status != "1"){
            drupal_set_message("Baba Taid kon bad boro to",'error');
            drupal_goto('registration/confirm', array('query'=&gt;array(
                'user'=&gt;$username,
            )));
    }
   else {
        drupal_set_message("Sabenam nakarde mikhay beri to akhe amo ?!!!",'error');
        drupal_goto('user/register');
    }
} 


When you are in user_login and user is going to login don't empty $form_state  with $form_state = array(); Let Drupal Handle it's way to log on user  you just check what you want before it.

This will work for you , but I think is better when the situation is not satisfied in validator set error and set a destination variable on $form_state  ( maybe $form_state['redirect'] or your custom $form_state['my_redirect'] )  then in form_alter  check if  your error exists redirect to that destination with Drupal_goto.

Any way mentioned code ( up code) satisfy what you want.