Provided by: libhtml-formfu-perl_2.01000-2_all bug

NAME

       HTML::FormFu::Element - Element Base Class

SYNOPSIS

           ---
           elements:
             - type: Text
               name: username
               constraints:
                 - type: Required

             - type: Password
               name: password
               constraints:
                 - type: Required
                 - type: Equal
                   others: repeat-password

             - type: Password
               name: repeat-password

             - type: Submit

DESCRIPTION

       Elements are the basic building block of all forms. Elements may be logical form-fields,
       blocks such as "div"s and "fieldset"s, non-blocks such as "hr"s and other special elements
       such as tables.

       For simple, automatic handling of fieldsets see the "auto_fieldset" in HTML::FormFu
       setting.

       See "deflators" in HTML::FormFu for details of Deflators.

       See "FORM LOGIC AND VALIDATION" in HTML::FormFu for details of Filters, Constraints,
       Inflators, Validators and Transformers.

METHODS

   name
       For field element, this value is used as the "name" attribute which the field's value is
       associated with.

       For all elements, the "name" value can be useful for identifying and retrieving specific
       elements.

   is_field
       Return Value: boolean

       Returns "true" or "false" depending on whether the element is a logical form-field.

       This is used by "get_fields" in HTML::FormFu.

BUILDING AN ELEMENT

   load_config_file
       Arguments: $filename

       Arguments: \@filenames

       Populate an element using a config file:

           ---
           elements:
             - type: Block
               load_config_file: 'elements.yml'

       See "load_config_file" in HTML::FormFu for further details.

   load_config_filestem
       Arguments: $filestem

       Arguments: \@filestems

       Like "load_config_file", but you shouldn't include the file extension in the passed
       string. This allows you to change your config-file type, without having to change the code
       that loads the files.

   config_file_path
       Arguments: $directory_name

       "config_file_path" defines where configuration files will be searched for, if an absolute
       path is not given to "load_config_file".

       Default Value: not defined

       This method is a special 'inherited accessor', which means it can be set on the form, a
       block element or a single element. When the value is read, if no value is defined it
       automatically traverses the element's hierarchy of parents, through any block elements and
       up to the form, searching for a defined value.

   config_callback
       See "config_callback" in HTML::FormFu for details.

   populate
       See "populate" in HTML::FormFu for details.

   stash
       See "stash" in HTML::FormFu for details.

   type
       Returns the "type" argument originally used to create the element.

CHANGING DEFAULT BEHAVIOUR

   render_processed_value
       See "render_processed_value" in HTML::FormFu for details.

   force_errors
       See "force_errors" in HTML::FormFu for details.

ELEMENT ATTRIBUTES

       See specific element types for which tag attributes are added to.

   attributes
   attrs
       Arguments: [%attributes]

       Arguments: [\%attributes]

       Return Value: $form

       See "attributes" in HTML::FormFu for details.

       "attrs" is an alias for "attributes".

   attributes_xml
   attrs_xml
       See "attributes_xml" in HTML::FormFu for details.

       "attrs_xml" is an alias for "attributes_xml".

   add_attributes
   add_attrs
       Arguments: [%attributes]

       Arguments: [\%attributes]

       Return Value: $form

       See "add_attributes" in HTML::FormFu for details.

       "add_attrs" is an alias for "add_attributes".

   add_attributes_xml
   add_attrs_xml
       See "add_attributes_xml" in HTML::FormFu for details.

       "add_attrs_xml" is an alias for "add_attributes_xml".

   del_attributes
   del_attrs
       Arguments: [%attributes]

       Arguments: [\%attributes]

       Return Value: $form

       See "del_attributes" in HTML::FormFu for details.

       "del_attrs" is an alias for "del_attributes".

   del_attributes_xml
   del_attrs_xml
       See "del_attributes_xml" in HTML::FormFu for details.

       "del_attrs_xml" is an alias for "del_attributes_xml".

       The following methods are shortcuts for accessing "attributes" keys.

   id
       Arguments: [$id]

       Return Value: $id

       Get or set the element's DOM id.

       Default Value: none

MODEL / DATABASE INTERACTION

       See HTML::FormFu::Model for further details and available models.

   model_config
       Arguments: \%config

RENDERING

   filename
       This value identifies which template file should be used by "render" to render the
       element.

   prepare_id
       Arguments: $render

       See "prepare_id" in HTML::FormFu::Role::Element::Field for details.

   prepare_attrs
       Arguments: $render

       See "prepare_attrs" in HTML::FormFu::Role::Element::Field for details.

   render
       Return Value: $string

INTROSPECTION

   parent
       Returns the block element or form object that this element is attached to.

   get_parent
       Arguments: \%options

           my $repeatable = $field->get_parent({ type => 'Repeatable' });

       Traverses the parent hierarchy, returning the first parent that matches the supplied
       options.

   form
       Returns the HTML::FormFu object that the constraint's field is attached to.

   clone
       See "clone" in HTML::FormFu for details.

ADVANCED CUSTOMISATION

   tt_args
       See "tt_args" in HTML::FormFu for details.

   render_method
       See "render_method" in HTML::FormFu for details.

CORE FORM FIELDS

       HTML::FormFu::Element::Button
       HTML::FormFu::Element::Checkbox
       HTML::FormFu::Element::Checkboxgroup
       HTML::FormFu::Element::ComboBox
       HTML::FormFu::Element::ContentButton
       HTML::FormFu::Element::Date
       HTML::FormFu::Element::Email
       HTML::FormFu::Element::File
       HTML::FormFu::Element::Hidden
       HTML::FormFu::Element::Image
       HTML::FormFu::Element::Number
       HTML::FormFu::Element::Password
       HTML::FormFu::Element::Radio
       HTML::FormFu::Element::Radiogroup
       HTML::FormFu::Element::Reset
       HTML::FormFu::Element::Select
       HTML::FormFu::Element::Submit
       HTML::FormFu::Element::Textarea
       HTML::FormFu::Element::Text
       HTML::FormFu::Element::URL

OTHER CORE ELEMENTS

       HTML::FormFu::Element::Blank
       HTML::FormFu::Element::Block
       HTML::FormFu::Element::Fieldset
       HTML::FormFu::Element::Hr
       HTML::FormFu::Element::Label
       HTML::FormFu::Element::Multi
       HTML::FormFu::Element::Repeatable
       HTML::FormFu::Element::SimpleTable
       HTML::FormFu::Element::Src

ELEMENT BASE CLASSES

       The following are base classes for other elements, and generally needn't be used directly.

       HTML::FormFu::Role::Element::Field
       HTML::FormFu::Role::Element::Group
       HTML::FormFu::Role::Element::Input
       HTML::FormFu::Element::_MultiElement
       HTML::FormFu::Element::_MultiSelect
       HTML::FormFu::Element::_MultiText
       HTML::FormFu::Role::Element::NonBlock

REMOVED METHODS

   db
       Has been removed; use "default_args" instead.

AUTHOR

       Carl Franks, "cfranks@cpan.org"

LICENSE

       This library is free software, you can redistribute it and/or modify it under the same
       terms as Perl itself.