Custom form values in hook_form_alter() not available in custom validate function
This pair of functions should do the trick:

function mymodule_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  if (stripos($form_id, 'node_form') !== FALSE) {
    $form['custom_form'] = array(
     '#type' =&gt; 'textfield',
     '#title' =&gt; t('Custom field'),
     '#default_value' =&gt; 'enter custom text here',
    );
    $form['#validate'][] = 'mymodule_custom_form_process_values';
  }
 }

function mymodule_custom_form_process_values($form, &amp;$form_state) {
  // Check to see if the default text has been altered by the user.
  if ($form_state['values']['custom_form'] != $form['custom_form']['#default_value']) {
    // Do something here...
  }
}


Tested on Drupal 7.53.