I have a form with a bunch of required fields that all have the same callback. Here's a single field example:

```
$form['name'] = array(
    '#type' => 'textfield',
    '#title' => t('Name'),
    '#required' => TRUE,
    '#ajax' => array(
      'callback' => 'callback_show_buttons',
      'wrapper' => 'formwrapper',
    ),
  );

```

`formwrapper` is a wrapper around the entire form:

```
$form['#prefix'] = '<div id="formwrapper">';
$form['#suffix'] = '</div>';

```

Here's the callback, inspired by [this guy's code](https://stackoverflow.com/a/22226414):

```
function callback_show_buttons($form, &$form_state) {
    $allajaxchanges = array( '#type' => 'ajax', '#commands' => array() );

    if ( form_get_errors() ) {
        $form_state['rebuild'] = TRUE;
        $allajaxchanges['#commands'][] = ajax_command_replace( "#formwrapper", render($form) );
    }

 return $allajaxchanges;

```

If I inspect form\_get\_errors(), it is always NULL, no matter if I validate the form in code or not. `drupal_get_messages()` is also completely empty, and `theme('status_messages')` also has nothing in it ([these solutions were suggested here](https://drupal.org/node/2081517)). These methods do return something if I submit the form in a non-AJAX way.

Anyone have any idea how to check if a form has errors in it if these don't work?