Embperl::Form.3pm

Langue: en

Version: 2006-01-06 (mandriva - 22/10/07)

Section: 3 (Bibliothèques de fonctions)

NAME

Embperl::Form - Embperl Form class

SYNOPSIS

DESCRIPTION

METHODS


new ($controls, $options)


new ($controls, $options)

* $controls
Array ref with controls which should be displayed inside the form. Each control needs either to be a hashref with all parameters for the control or a control object.

If hash refs are given it's necessary to specify the "type" parameter, to let Embperl::Form know which control to create.

See Embperl::Form::Control and Embperl::Form::Control::* for a list of available parameters.

* $options
Hash ref which can take the following parameters:
* formname
Will be used as name and id attribute of the form. If you have more then one form on a page it's necessary to have different form names to make form validation work correctly.
* masks
Contains a hash ref which can specify a set of masks for the controls. A mask is a set of parameter which overwrite the setting of a control. You can specify a mask for a control name (key is name), for a control type (key is *type) or for all controls (key is *).

Example:

     {
     'info'      => { readonly => 1},
     '*textarea' => { cols => 80 },
     '*'         => { labelclass => 'myclass', labelnowrap => 1}
     }
 
 

This will force the control with the name "info" to be readonly, it will force all "textarea" controls to have 80 columns and it will force the label of all controls to have a class of myclass and not to wrap the text.

* defaults
Contains a hash ref which can specify a set of defaults for the controls. You can specify a default for a control name (key is name), for a control type (key is *type) or for all controls (key is *).

Example:

     {
     'info'      => { readonly => 1},
     '*textarea' => { cols => 80 },
     '*'         => { labelclass => 'myclass', labelnowrap => 1}
     }
 
 

This will make the control with the name "info" to default to be readonly, it will deafult all "textarea" controls to have 80 columns and it will set the default class for the labels of all controls to myclass and not to wrap the text.


layout


show

AUTHOR

G. Richter (richter@dev.ecos.de)

SEE ALSO

perl(1), Embperl, Embperl::Form::Control