form_set_value

Versions
4.7 – 5
form_set_value($form, $value)
6
form_set_value($form_item, $value, &$form_state)
7
form_set_value($element, $value, &$form_state)

Change submitted form values during the form processing cycle.

Use this function to change the submitted value of a form item in the validation phase so that it persists in $form_state through to the submission handlers in the submission phase.

Since $form_state['values'] can either be a flat array of values, or a tree of nested values, some care must be taken when using this function. Specifically, $element['#parents'] is an array that describes the branch of the tree whose value should be updated. For example, if we wanted to update $form_state['values']['one']['two'] to 'new value', we'd pass in $element['#parents'] = array('one', 'two') and $value = 'new value'.

Parameters

$element The form item that should have its value updated. Keys used: #parents, #value. In most cases you can just pass in the right element from the $form array.

$value The new value for the form item.

$form_state The array where the value change should be recorded.

Related topics

▾ 3 functions call form_set_value()

node_search_validate in modules/node/node.module
Form API callback for the search form. Registered in node_form_alter().
password_confirm_validate in includes/form.inc
Validate password_confirm element.
_form_builder_handle_input_element in includes/form.inc
Populate the #value and #name properties of input elements so they can be processed and rendered.

Code

includes/form.inc, line 1548

<?php
function form_set_value($element, $value, &$form_state) {
  _form_set_value($form_state['values'], $element, $element['#parents'], $value);
}
?>
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.