The next graph explains how column/field information is gathered enhanced and used by forms and the created inputs.
This configuration section links all database columns to field definition section.
[table_columns]
; Links a table column to a column/field definition section.
`user`.`user_id`=user:id
`user`.`login`=user:login
`user`.`password`=user:password
`user`.`password_md5`=user:password_md5
`user`.`privilege_id`=user:privilege_id
`user`.`enabled`=user:enabled
`user`.`letter_salution_id`=user:letter_salution:id_fk
`user`.`letter_title_id`=user:letter_title:id_fk
`user`.`name`=user:name
`user`.`position`=user:position
`user`.`phone`=user:phone
`user`.`email`=user:email
`user`.`date_effective`=user:date_effective
`user`.`modified`=modified
Below an ini-file section example descibing a field where a form can generate an input from.
Inputs have a reference
[#sample_section]
; Section this section is derived from.
inherit="base-section"
; Ignore when checking.
__check=0
; Regular name of the field.
name_long=
; Short name of the field.
name_short=
; Description of the field.
descrip=
; Specifies the type of field. (key, foreignkey, number, string, date, datetime, html, checkbox)
type=string
; Length for displaying. Not the length of the database field.
length=20
; Columns in a multi line edit field.
rows=5
; Regular expression like 'regexp:/^[0-9]$/]' that must match the input before it is excepted when editing.
filter="regexp://"
;filter="range_int:10,100"
;filter="range_float:-1.23,2.66"
; Specifies if this database field can be modified by the user.
readonly=1
; Optional input class which overules the default class for the set 'type' in this section.
input_class=\Page\Form\InputString
; Name to select this field from another list.
select_list="person"
; Width of the dialog for selecting.
select_dlg_width=800
; Width of the dialog for selecting.
select_dlg_height=300
; Maximum entries before a dialog is created for selection. By default it is 250
select_max=25
; Makes the browser not perform an auto complete on the input.
; Default value is '1' or true.
autocomplete=0
; Incase of a 'file' type the size in bytes.
size=10000