Form generation

Functions to enable the processing and display of HTML forms.

Drupal uses these functions to achieve consistency in its form processing and presentation, while simplifying code and reducing the amount of HTML that must be explicitly generated by modules.

The drupal_get_form() function handles retrieving, processing, and displaying a rendered HTML form for modules automatically. For example:

// Display the user registration form.
$output = drupal_get_form('user_register');

Forms can also be built and submitted programmatically without any user input using the drupal_execute() function.

For information on the format of the structured arrays used to define forms, and more detailed explanations of the Form API workflow, see the reference and the quickstart guide.


Namesort descending Location Description
checkboxes_value drupal/includes/ Helper function to load value from default value for checkboxes.
date_validate drupal/includes/ Validates the date type to stop dates like February 30, 2006.
drupal_execute drupal/includes/ Retrieves a form using a form_id, populates it with $form_values, processes it, and returns any validation errors encountered. This function is the programmatic counterpart to drupal_get_form().
drupal_get_form drupal/includes/ Retrieves a form from a builder function, passes it on for processing, and renders the form or redirects to its destination as appropriate. In multi-step form scenarios, it handles properly processing the values using the previous step's form…
drupal_prepare_form drupal/includes/ Prepares a structured form array by adding required elements, executing any hook_form_alter functions, and optionally inserting a validation token to prevent tampering.
drupal_process_form drupal/includes/ This function is the heart of form API. The form gets built, validated and in appropriate cases, submitted.
drupal_redirect_form drupal/includes/ Redirect the user to a URL after a form has been processed.
drupal_render_form drupal/includes/ Renders a structured form array into themed HTML.
drupal_retrieve_form drupal/includes/ Retrieves the structured array that defines a given form.
drupal_submit_form drupal/includes/ Processes user-submitted form data from a global variable using the submit functions defined in a structured form array.
drupal_validate_form drupal/includes/ Validates user-submitted form data from a global variable using the validate functions defined in a structured form array.
expand_checkboxes drupal/includes/
expand_date drupal/includes/ Roll out a single date element.
expand_password_confirm drupal/includes/ Expand a password_confirm field into two text boxes.
expand_radios drupal/includes/ Roll out a single radios element to a list of radios, using the options array as index.
form_builder drupal/includes/ Adds some required properties to each form element, which are used internally in the form API. This function also automatically assigns the value property from the $edit array, provided the element doesn't already have an assigned value.
form_clean_id drupal/includes/ Remove invalid characters from an HTML ID attribute string.
form_error drupal/includes/ Flag an element as having an error.
form_get_error drupal/includes/ Return the error message filed against the form with the specified name.
form_get_errors drupal/includes/ Return an associative array of all errors.
form_get_options drupal/includes/ Traverses a select element's #option array looking for any values that hold the given key. Returns an array of indexes that match.
form_options_flatten drupal/includes/
form_select_options drupal/includes/
form_set_error drupal/includes/ File an error against a form element. If the name of the element is edit[foo][bar] then you may pass either foo or foo][bar as $name foo will set an error for all its children.
form_set_value drupal/includes/ Use this function to make changes to form values in the form validate phase, so they will be available in the submit phase in $form_values.
map_month drupal/includes/ Helper function for usage with drupal_map_assoc to display month names.
password_confirm_validate drupal/includes/ Validate password_confirm element.
process_weight drupal/includes/ Expand weight elements into selects.
theme_button drupal/includes/
theme_checkbox drupal/includes/ Format a checkbox.
theme_checkboxes drupal/includes/ Format a set of checkboxes.
theme_date drupal/includes/ Format a date selection element.
theme_fieldset drupal/includes/ Format a group of form items.
theme_file drupal/includes/ Format a file upload field.
theme_form drupal/includes/ Format a form.
theme_form_element drupal/includes/ Return a themed form element.
theme_hidden drupal/includes/ Format a hidden form field.
theme_item drupal/includes/ Format a form item.
theme_markup drupal/includes/
theme_password drupal/includes/ Format a password field. *
theme_password_confirm drupal/includes/ Format a password_confirm item.
theme_radio drupal/includes/ Format a radio button.
theme_radios drupal/includes/ Format a set of radio buttons.
theme_select drupal/includes/ Format a dropdown menu or scrolling selection box.
theme_submit drupal/includes/
theme_textarea drupal/includes/ Format a textarea.
theme_textfield drupal/includes/ Format a textfield.
theme_token drupal/includes/
weight_value drupal/includes/ If no default value is set for weight select boxes, use 0.
_drupal_clean_form_sessions drupal/includes/ Remove form information that's at least a day old from the $_SESSION['form'] array.
_element_info drupal/includes/ Retrieve the default properties for the defined element type.
_form_set_class drupal/includes/ Sets a form element's class attribute.
_form_set_value drupal/includes/ Helper function for form_set_value().
_form_validate drupal/includes/ Performs validation on form elements. First ensures required fields are completed, #maxlength is not exceeded, and selected options were in the list of options given to the user. Then calls user-defined validators.


drupal/includes/, line 3