How to reset validation errors in ajax callback?
You need to set limit_validation_errors to an empty array for it to ignore the rest of the fields in the form.  Here's an example:

  $form['a_field'] = array(
    '#type' =&gt; 'button',
    '#limit_validation_errors' =&gt; array(),
    '#value' =&gt; t('Click here'),
    '#name' =&gt; 'a_field',
    '#submit' =&gt; array('my_submit_function'),
    '#ajax' =&gt; array(
      'callback' =&gt; 'my_function',
      'wrapper' =&gt; 'my_wrapper',
    ),
  );