Make all the fields in a form not required I know that, when I want to run off the #require property of a field in hook_form_alter(), I just need to set #require property of a specific field to FALSE.

How can I remove the #required property  of all the required fields? I want to make the fields not required when the user has a specific role.

Do you have any idea?
If you're ok with the risks that this might well pose to the integrity of your content you could probably use a simple recursive script like the following in a form alter function:

function MYMODULE_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  if ($form_id == 'myform_name') {
    $form['#after_build'][] = '_MYMODULE_remove_required';
  }
}

function _MYMODULE_remove_required(&amp;$element) {
  $element['#required'] = FALSE;

  foreach (element_children($element) as $key) {
    _MYMODULE_remove_required($element[$key]);
  }
}