---
name: "Embperl::Form"
section: "3pm"
platform: "linux"
package: "libembperl-perl"
version: "2.5.0-17"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/Embperl::Form"
---

# Embperl::Form(3pm)

Embperl Form class

## NAME

Embperl::Form - Embperl Form class

## SYNOPSIS

## DESCRIPTION

## METHODS

### 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 default 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.

  - •

    language

    Language setting is used for Embperl::Form::Validate, e.g. 'en' or 'de'

  - •

    charset

    Charset setting is used for Embperl::Form::Validate, e.g. 'utf-8'

  - •

    valign

    valign for control cells. Defaults to 'top' .

  - •

    jsnamespace

    Give the JavaScript Namespace. This allows one to load js files in a top frame or different frame, which will speed up page loading, because the browser does not need to reload the js code on every load.

    Example:

    ```
        jsnamespace => 'top'
    ```

  - •

    classdiv

    Gives the CSS class of the DIV around the form. Default cTableDiv.

  - •

    checkitems

    If set to true, allows one to call the function diff\_checkitems after the data is posted and see which form fields are changed.

  - •

    control\_packages

    Arrayref with package names to search for form controls. Alternatively you can overwrite the method get\_control\_packages.

  - •

    datasrc\_packages

    Arrayref with package names to search for form data source modules. Alternatively you can overwrite the method get\_datasrc\_packages.

### layout

### validate

### show

### convert\_label

Converts the label of a control to the text that should be outputed. By default does return the text or name parameter of the control. Can be overwritten to allow for example internationalization.

- $ctrl

  Embperl::Form::Control object

- $name

  optional: name to translate, if not given take `$ctrl` -\> {name}

### convert\_text

Converts the text of a control to the text that should be outputed. By default does return the text or name parameter of the control. Can be overwritten to allow for example internationalization.

- $ctrl

  Embperl::Form::Control object

### convert\_options

Converts the values of a control to the text that should be outputed. By default does nothing. Can be overwritten to allow for example internationalization.

- $ctrl

  Embperl::Form::Control object

- $values

  values of the control i.e. values that are submitted

- $options

  options of the control i.e. text that should be displayed

## AUTHOR

G. Richter (richter at embperl dot org)

## SEE ALSO

[**perl**(1)](/perl/1.md), Embperl, Embperl::Form::Control
