Answers:
这里的关键区别在于,在大多数情况下,您应该使用$ form_state ['values'];。因为$ form_state ['input']数组上的数据是原始数据,并且未经验证。
$ form_state ['input']对于多步骤表单很有用,假设您熟悉如何安全地处理原始输入。...有关更多信息,请参见form_builder。
除非您知道自己在做什么,$form_state['values']
否则它就是已处理的表单值。$form_state['input']
是原始数据。请参阅form_builder的代码:https://api.drupal.org/api ....
在drupal_form_submit函数中,您可以看到以下代码:
// Populate $form_state['input'] with the submitted values before retrieving
// the form, to be consistent with what drupal_build_form() does for
// non-programmatic submissions (form builder functions may expect it to be
// there).
$form_state['input'] = $form_state['values'];
因此完全相同。