Same name and namespace in other branches
  1. 4.7.x includes/form.inc \form_set_value()
  2. 5.x includes/form.inc \form_set_value()
  3. 7.x includes/form.inc \form_set_value()

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, $form_item['#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 $form_item['#parents'] = array('one', 'two') and $value = 'new value'.

Parameters

$form_item: 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

7 calls to form_set_value()
node_search_validate in modules/node/node.module
Form API callback for the search form. Registered in node_form_alter().
node_teaser_include_verify in modules/node/node.module
Ensure value of "teaser_include" checkbox is consistent with other form data.
node_teaser_js in modules/node/node.module
See if the user used JS to submit a teaser.
password_confirm_validate in includes/form.inc
Validate password_confirm element.
search_form_validate in modules/search/search.pages.inc
As the search form collates keys from other modules hooked in via hook_form_alter, the validation takes place in _submit. search_form_validate() is used solely to set the 'processed_keys' form value for the basic search form.

... See full list

File

includes/form.inc, line 1415

Code

function form_set_value($form_item, $value, &$form_state) {
  _form_set_value($form_state['values'], $form_item, $form_item['#parents'], $value);
}