Home | Gifts |
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.
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.
$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
.
$options
- hash reference having various options. Curently the boolean option suppressValsEval is the only one supported
May throw TWiki::OopsException
Return a list of TWiki Form Templates found in a web. The name of Form Template topics ends in Form, and topics must contain a table heading like this:
Name | Type | Size | Value | Tooltip message | Attributes |
---|
$web
the web of the topic being rendered
$topic
the topic being rendered
$meta
the meta data for the form
Render the form fields for entry during an edit session, using data values from $meta
Render form fields found in the meta as hidden inputs, so they pass through edits untouched.
Extract new values for form fields from a query.
$query
- the query
$metaObject
- the meta object that is storing the form values
For each field, if there is a value in the query, use it. Otherwise if there is already entry for the field in the meta, keep it.
Returns the number of fields which had values provided by the query, and a references to an array of the names of mandatory fields that were missing from the query.
$name
- name of a form field (value of the name
attribute)
Returns true if the type of the named field allows it to be text-merged.
If the form does not define the field, it is assumed to be mergeable.
$name
- name of a form field (value of the name
attribute)
Returns a TWiki::Form::FieldDefinition
, or undef if the form does not
define the field.
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).
Revision r7 - 2014-10-05 - 11:03:28 - TWikiContributor | Edit |