Package TWiki::Form
Object representing a single form definition.
Form definitions are mainly used to control rendering of a form for
editing, though there is some application login there that handles
transferring values between edits and saves.
A form definition consists of a TWiki::Form object, which has a list
of field definitions. Each field definition is an object of a type
derived from TWiki::Form::FieldDefinition. These objects are responsible
for the actual syntax and semantics of the field type. Form definitions
are parsed from TWiki tables, and the types are mapped by name to a
class declared in TWiki::Form::* - for example, the text type is mapped
to TWiki::Form::Text and the checkbox type to TWiki::Form::Checkbox.
The TWiki::Form::FieldDefinition class declares default behaviours for
types that accept a single value in their definitions. The
TWiki::Form::ListFieldDefinition extends this for types that have lists
of possible values.
On this page:
- ClassMethod new ($session,$web,$form,$def)
- ObjectMethod finish ()
- StaticMethod fieldTitle2FieldName ($title) -> $name
- ObjectMethod renderForEdit ($web,$topic,$meta) -> $html
- ObjectMethod renderHidden ($meta) -> $html
- ObjectMethod getFieldValuesFromQuery ($query,$metaObject) -> ($seen,\@missing)
- ObjectMethod isTextMergeable ($name) -> $boolean
- ObjectMethod getField ($name) -> $fieldDefinition
- ObjectMethod getFields () -> \@fields
Class Method new ($session,$web,$form,$def)
Looks up a form in the session object or, if it hasn't been read yet, reads it frm the form definition topic on disc.- $web - default web to recover form from, if $form doesn't specify a web
-
$form- topic name to read form definition from -
$def- optional. a reference to a list of field definitions. if present, these definitions will be used, rather than those in$form.
Object Method finish ()
Break circular references.Static Method fieldTitle2FieldName ($title) -> $name
Chop out all except A-Za-z0-9_. from a field name to create a valid "name" for storing in meta-dataObject Method renderForEdit ($web,$topic,$meta) -> $html
-
$webthe web of the topic being rendered -
$topicthe topic being rendered -
$metathe meta data for the form
Object Method renderHidden ($meta) -> $html
Render form fields found in the meta as hidden inputs, so they pass through edits untouched.Object Method getFieldValuesFromQuery ($query,$metaObject) -> ($seen,\@missing)
Extract new values for form fields from a query.-
$query- the query -
$metaObject- the meta object that is storing the form values
Object Method isTextMergeable ($name) -> $boolean
-
$name- name of a form field (value of thenameattribute)
Object Method getField ($name) -> $fieldDefinition
-
$name- name of a form field (value of thenameattribute)
TWiki::Form::FieldDefinition, or undef if the form does not
define the field.
Object Method getFields () -> \@fields
Return a list containing references to field name/value pairs. Each entry in the list has a {name} field and a {value} field. It may have other fields as well, which caller should ignore. The returned list should be treated as read only (must not be written to).| Topic TWikiFormDotPm . { Edit | Attach | Backlinks: Web All webs | Printable | History: r5 < r4 < r3 < r2 < r1 More } |