添加到所有表单元素上的属性

老葛的Drupal培训班 Think in Drupal

当表单构建器使用表单定义构建表单时,它需要保证每一个表单元素都要有一些默认设置。这些默认值在includes/form.inc的函数_element_info()中设置,但是可以被hook_elements()中的表单元素定义所覆写。
 
#description
    该字符串属性将添加到所有表单元素上,默认为NULL。通过表单元素的主题函数来呈现它。例如,一个文本字段的描述呈现在textfield的下面,如图10-2所示。
 
#required
    该布尔值属性将被添加到所有表单元素上,默认为FALSE。将它设为TRUE,如果表单被提交以后而字段未被完成时,Drupal内置的表单验证将抛出一个错误消息。还有,如果将它设为TRUE,那么就会为这个元素设置一个CSS类(参看includes/form.inc中的theme_form_element())
 
#tree
    该布尔值属性将被添加到所有表单元素上,默认为FALSE。如果将它设为TRUE,表单提交后的$form_state['values']数组将会是嵌套的(而不是平坦的)。这将影响你访问提交数据的方式。(参看本章中的“字段集”部分)。
 
#post
    该数组属性是原始$_POST数据的一个拷贝,它将被表单构建器添加到所有的表单元素上。这样,在#process 和 #after_build中定义的函数就可以基于#post的内容做出聪明的决定。
 
#parents
    该数组属性将被添加到所有表单元素上,默认为一个空数组。它在表单构建器的内部使用,以标识表单树中的父元素。更多信息,参看http://drupal.org/node/48643
 
#attributes
    该数组属性将被添加到所有表单元素上,默认为一个空数组,但是主题函数一般会填充该数组。该数组中的成员将被作为HTML属性添加进来。例如$form['#attributes'] = array('enctype' => 'multipart/form-data')。

Drupal版本: