drupal_validate_form

Versions
4.7
drupal_validate_form($form_id, $form, $callback = NULL)
5
drupal_validate_form($form_id, $form)
6 – 7
drupal_validate_form($form_id, $form, &$form_state)

Validates user-submitted form data from the $form_state using the validate functions defined in a structured form array.

Parameters

$form_id A unique string identifying the form for validation, submission, theming, and hook_form_alter functions.

$form An associative array containing the structure of the form.

$form_state A keyed array containing the current state of the form. The current user-submitted data is stored in $form_state['values'], though form validation functions are passed an explicit copy of the values for the sake of simplicity. Validation handlers can also $form_state to pass information on to submit handlers. For example: $form_state['data_for_submision'] = $data; This technique is useful when validation requires file parsing, web service requests, or other expensive requests that should not be repeated in the submission step.

Related topics

▾ 2 functions call drupal_validate_form()

drupal_process_form in includes/form.inc
Processes a form submission.
openid_authentication in modules/openid/openid.module
Authenticate a user or attempt registration.

Code

includes/form.inc, line 728

<?php
function drupal_validate_form($form_id, $form, &$form_state) {
  $validated_forms = &drupal_static(__FUNCTION__, array());

  if (isset($validated_forms[$form_id]) && empty($form_state['must_validate'])) {
    return;
  }

  // If the session token was set by drupal_prepare_form(), ensure that it
  // matches the current user's session.
  if (isset($form['#token'])) {
    if (!drupal_valid_token($form_state['values']['form_token'], $form['#token'])) {
      // Setting this error will cause the form to fail validation.
      form_set_error('form_token', t('Validation error, please try again. If this error persists, please contact the site administrator.'));
    }
  }

  _form_validate($form, $form_state, $form_id);
  $validated_forms[$form_id] = TRUE;
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.