drupal_validate_form

Хочешь помочь с переводом? Это очень просто и быстро. Лишь зарегистрируйся, и можешь тут же начать переводить.

includes/form.inc, строка 562

Версии
5
drupal_validate_form($form_id, $form)
6
drupal_validate_form($form_id, $form, &$form_state)

Проверяет отправленные пользователем данные формы из $form_state, используя функции проверки, заданные в структурированном массиве формы.

Параметры

$form_id Уникальный идентификатор формы для валидации, вывода, темизации и функции hook_form_alter.

$form Ассоциативный массив, содержащий структуру формы

$form_state Ассоциативный массив, содержащий текущее состояние формы. Текущие отправленные пользователем данные хранятся в $form_state['values'], однако для простоты функции проверки получают точную копию этих значений. Проверяющие обработчики (validate) также могут использовать $form_state для передачи информации обработчикам подтверждения (submit). Например: $form_state['data_for_submision'] = $data; Такой приём может быть полезным, когда для проверки требуется обработка файла, запросы веб-служб или другие ресурсоёмкие запросы, которые нет необходимости повторять на этапе подтверждения.

Связанные темы

▾ 3 функции вызывают drupal_validate_form()

comment_form_add_preview in modules/comment/comment.module
Конструктор формы; Формирует и проверяет форму предпросмотра комментария.
drupal_process_form in includes/form.inc
Эта функция является основной в Forms API. Предназначена для построения формы и проверки формы на соответствие требованиям и обработки результатов.
openid_authentication in modules/openid/openid.module
Authenticate a user or attempt registration.

Код

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

  if (isset($validated_forms[$form_id])) {
    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;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему