Documentation

rex_form extends rex_form_base
in package
Uses rex_factory_trait

rex_form repraesentiert ein Formular in REDAXO.

Diese Klasse kann in Frontend u. Backend eingesetzt werden.

Nach erzeugen eines Formulars mit der factory()-Methode muss dieses mit verschiedenen Input-Feldern bestueckt werden. Dies geschieht Mittels der add*Field(...) Methoden.

Nachdem alle Felder eingefuegt wurden, muss das Fomular mit get() oder show() ausgegeben werden.

Table of Contents

Constants

ERROR_VIOLATE_UNIQUE_KEY  = 1062

Properties

$applyUrl  : string|null
$db  : positive-int
$debug  : bool
$elements  : array<string, array<int, rex_form_element>>
$errorMessages  : array<int, string>
$fieldset  : string
$formId  : string|null
$languageSupport  : array<string|int, mixed>
$message  : string|null
$method  : string
$mode  : string
$name  : string
$params  : array<string, string|int|bool>
$sql  : rex_sql
$tableName  : non-empty-string
$warning  : string|null
$whereCondition  : string

Methods

addCheckboxField()  : rex_form_checkbox_element
Fuegt dem Fomular ein Checkbox-Feld hinzu.
addContainerField()  : rex_form_container_element
Fuegt dem Formular ein Container-Feld hinzu.
addControlField()  : rex_form_control_element
Fuegt dem Fomualar ein Control-Feld hinzu.
addErrorMessage()  : void
Fuegt dem Formular eine Fehlermeldung hinzu.
addField()  : rex_form_element
Fuegt dem Formular ein Input-Feld hinzu.
addFieldset()  : void
Fuegt dem Formular ein Fieldset hinzu.
addHiddenField()  : rex_form_element
Fuegt dem Fomular ein Hidden-Feld hinzu.
addInputField()  : rex_form_element
Fuegt dem Formular ein Input-Feld mit dem Type $type hinzu.
addLinklistField()  : rex_form_widget_linklist_element
Fuegt dem Formular ein Feld hinzu mit dem die Struktur-Verwaltung angebunden werden kann.
addLinkmapField()  : rex_form_widget_linkmap_element
Fuegt dem Formular ein Feld hinzu mit dem die Struktur-Verwaltung angebunden werden kann.
addMediaField()  : rex_form_widget_media_element
Fuegt dem Formular ein Feld hinzu mit dem der Medienpool angebunden werden kann.
addMedialistField()  : rex_form_widget_medialist_element
Fuegt dem Formular ein Feld hinzu mit dem der Medienpool angebunden werden kann.
addParam()  : void
Fuegt dem Formular einen Parameter hinzu.
addPrioField()  : rex_form_prio_element
Fuegt dem Formular ein Feld hinzu mitdem die Prioritaet von Datensaetzen verwaltet werden kann.
addRadioField()  : rex_form_radio_element
Fuegt dem Formular ein Radio-Feld hinzu.
addRawField()  : rex_form_raw_element
Fuegt dem Formular beliebiges HTML zu.
addReadOnlyField()  : rex_form_element
Fuegt dem Formular ein Read-Only-Feld hinzu.
addReadOnlyTextField()  : rex_form_element
Fuegt dem Formular ein Read-Only-Text-Feld hinzu.
addSelectField()  : rex_form_select_element
Fuegt dem Formular ein Select/Auswahl-Feld hinzu.
addTextAreaField()  : rex_form_element
Fuegt dem Formular ein Textarea-Feld hinzu.
addTextField()  : rex_form_element
Fuegt dem Formular ein Text-Feld hinzu.
createInput()  : rex_form_element
Erstellt ein Input-Element anhand des Strings $inputType.
elementPostValue()  : string|null
equals()  : bool
factory()  : static
Methode zum erstellen von rex_form Instanzen.
fieldsetPostValues()  : array<string|int, mixed>
get()  : string
getInputAttributes()  : array<string|int, mixed>
getInputClassName()  : rex_form_element>
getInputTagName()  : string
getMessage()  : string
getName()  : string
getParam()  : mixed
Gibt den Wert des Parameters $name zurueck, oder $default kein Parameter mit dem Namen exisitiert.
getParams()  : array<string, string|int|bool>
Gibt alle Parameter des Fomulars zurueck.
getSql()  : rex_sql
getTableName()  : non-empty-string
getUrl()  : string
Gibt eine Formular-Url zurück.
getWarning()  : string
getWhereCondition()  : string
Gibt die Where-Bedingung des Formulars zurueck.
init()  : void
Initialisiert das Formular.
isEditMode()  : bool
Prueft ob sich das Formular im Edit-Modus befindet.
setApplyUrl()  : void
Setzt die Url die bei der apply-action genutzt wird.
setEditMode()  : void
Wechselt den Modus des Formulars.
setFormAttribute()  : void
setFormId()  : void
setLanguageSupport()  : void
Mehrsprachigkeit unterstuetzen.
setMessage()  : void
setWarning()  : void
show()  : void
__construct()  : mixed
Diese Konstruktor sollte nicht verwendet werden. Instanzen muessen ueber die factory() Methode erstellt werden!
addElement()  : rex_form_element
Allgemeine Bootleneck-Methode um Elemente in das Formular einzufuegen.
createElement()  : rex_form_element
Erstellt ein Input-Element anhand von $tag.
delete()  : bool|int
getControlElement()  : rex_form_control_element|null
getElement()  : rex_form_element|null
getFieldsetElements()  : array<string, array<int, rex_form_element>>
getFieldsetName()  : string
getFieldsets()  : array<int, string>
getFooterElements()  : array<int, rex_form_element>
getHeaderElements()  : array<int, rex_form_element>
getId()  : string
getSaveElements()  : array<string, array<int, rex_form_element>>
getValue()  : mixed
isControlElement()  : bool
isFooterElement()  : bool
isHeaderElement()  : bool
isRawElement()  : bool
loadBackendConfig()  : void
Laedt die Konfiguration die noetig ist um rex_form im REDAXO Backend zu verwenden.
preSave()  : string|int|null
Callbackfunktion, damit in subklassen der Value noch beeinflusst werden kann kurz vorm speichern.
preView()  : mixed
Callbackfunktion, damit in subklassen der Value noch beeinflusst werden kann wenn das Feld mit Datenbankwerten angezeigt wird.
processPostValues()  : void
Übernimmt die POST-Werte in die FormElemente.
redirect()  : never
save()  : bool|int
Speichert das Formular.
validate()  : bool|string
Validiert die Eingaben.

Constants

ERROR_VIOLATE_UNIQUE_KEY

public mixed ERROR_VIOLATE_UNIQUE_KEY = 1062

Properties

$db

protected positive-int $db

$errorMessages

protected array<int, string> $errorMessages = []

$languageSupport

protected array<string|int, mixed> $languageSupport = []

$method

protected string $method

"get" or "post"

$mode

protected string $mode

$params

protected array<string, string|int|bool> $params

$sql

protected rex_sql $sql

$tableName

protected non-empty-string $tableName

$whereCondition

protected string $whereCondition

Methods

addCheckboxField()

Fuegt dem Fomular ein Checkbox-Feld hinzu.

public addCheckboxField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_checkbox_element

Dies ermoeglicht die Mehrfach-Selektion aus einer vorgegeben Auswahl an Werten.

Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Return values
rex_form_checkbox_element

addContainerField()

Fuegt dem Formular ein Container-Feld hinzu.

public addContainerField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_container_element

Ein Container-Feld wiederrum kann weitere Felder enthalten.

Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Return values
rex_form_container_element

addControlField()

Fuegt dem Fomualar ein Control-Feld hinzu.

public addControlField([rex_form_element $saveElement = null ][, rex_form_element $applyElement = null ][, rex_form_element $deleteElement = null ][, rex_form_element $resetElement = null ][, rex_form_element $abortElement = null ]) : rex_form_control_element

Damit koennen versch. Aktionen mit dem Fomular durchgefuert werden.

Parameters
$saveElement : rex_form_element = null
$applyElement : rex_form_element = null
$deleteElement : rex_form_element = null
$resetElement : rex_form_element = null
$abortElement : rex_form_element = null
Return values
rex_form_control_element

addErrorMessage()

Fuegt dem Formular eine Fehlermeldung hinzu.

public addErrorMessage(int $errorCode, string $errorMessage) : void
Parameters
$errorCode : int
$errorMessage : string

addField()

Fuegt dem Formular ein Input-Feld hinzu.

public addField(string $tag, string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ][, bool $addElement = true ]) : rex_form_element
Parameters
$tag : string
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
$addElement : bool = true
Return values
rex_form_element

addFieldset()

Fuegt dem Formular ein Fieldset hinzu.

public addFieldset(string $fieldset[, array<string, int|string|array<int, string>> $attributes = [] ]) : void

Dieses dient dazu ein Formular in mehrere Abschnitte zu gliedern.

Parameters
$fieldset : string
$attributes : array<string, int|string|array<int, string>> = []

addHiddenField()

Fuegt dem Fomular ein Hidden-Feld hinzu.

public addHiddenField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_element
Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Return values
rex_form_element

addInputField()

Fuegt dem Formular ein Input-Feld mit dem Type $type hinzu.

public addInputField(string $type, string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ][, bool $addElement = true ]) : rex_form_element
Parameters
$type : string
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
$addElement : bool = true
Return values
rex_form_element

addLinklistField()

Fuegt dem Formular ein Feld hinzu mit dem die Struktur-Verwaltung angebunden werden kann.

public addLinklistField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_widget_linklist_element

Damit koennen mehrere Elemente aus der Struktur eingefuegt werden.

Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Tags
throws
rex_exception
Return values
rex_form_widget_linklist_element

addLinkmapField()

Fuegt dem Formular ein Feld hinzu mit dem die Struktur-Verwaltung angebunden werden kann.

public addLinkmapField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_widget_linkmap_element

Es kann nur ein Element aus der Struktur eingefuegt werden.

Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Tags
throws
rex_exception
Return values
rex_form_widget_linkmap_element

addMediaField()

Fuegt dem Formular ein Feld hinzu mit dem der Medienpool angebunden werden kann.

public addMediaField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_widget_media_element

Es kann nur ein Element aus dem Medienpool eingefuegt werden.

Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Tags
throws
rex_exception
Return values
rex_form_widget_media_element

addMedialistField()

Fuegt dem Formular ein Feld hinzu mit dem der Medienpool angebunden werden kann.

public addMedialistField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_widget_medialist_element

Damit koennen mehrere Elemente aus dem Medienpool eingefuegt werden.

Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Tags
throws
rex_exception
Return values
rex_form_widget_medialist_element

addParam()

Fuegt dem Formular einen Parameter hinzu.

public addParam(string $name, string|int|bool $value) : void

Diese an den Stellen eingefuegt, an denen das Fomular neue Requests erzeugt.

Parameters
$name : string
$value : string|int|bool

addPrioField()

Fuegt dem Formular ein Feld hinzu mitdem die Prioritaet von Datensaetzen verwaltet werden kann.

public addPrioField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_prio_element
Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Return values
rex_form_prio_element

addRadioField()

Fuegt dem Formular ein Radio-Feld hinzu.

public addRadioField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_radio_element

Dies ermoeglicht eine Einfache-Selektion aus einer vorgegeben Auswahl an Werten.

Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Return values
rex_form_radio_element

addReadOnlyField()

Fuegt dem Formular ein Read-Only-Feld hinzu.

public addReadOnlyField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_element

Dazu wird ein span-Element verwendet.

Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Return values
rex_form_element

addReadOnlyTextField()

Fuegt dem Formular ein Read-Only-Text-Feld hinzu.

public addReadOnlyTextField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_element

Dazu wird ein input-Element verwendet.

Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Return values
rex_form_element

addSelectField()

Fuegt dem Formular ein Select/Auswahl-Feld hinzu.

public addSelectField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_select_element
Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Return values
rex_form_select_element

addTextAreaField()

Fuegt dem Formular ein Textarea-Feld hinzu.

public addTextAreaField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_element
Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Return values
rex_form_element

addTextField()

Fuegt dem Formular ein Text-Feld hinzu.

public addTextField(string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_element
Parameters
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Return values
rex_form_element

createInput()

Erstellt ein Input-Element anhand des Strings $inputType.

public createInput(string $inputType, string $name[, mixed $value = null ][, array<string|int, mixed> $attributes = [] ]) : rex_form_element
Parameters
$inputType : string
$name : string
$value : mixed = null
$attributes : array<string|int, mixed> = []
Return values
rex_form_element

elementPostValue()

public elementPostValue(string $fieldsetName, string $fieldName[, string|null $default = null ]) : string|null
Parameters
$fieldsetName : string
$fieldName : string
$default : string|null = null
Return values
string|null

equals()

public equals(object $form) : bool
Parameters
$form : object
Return values
bool

factory()

Methode zum erstellen von rex_form Instanzen.

public static factory(string $tableName, string $fieldset, string $whereCondition[, "post"|"get" $method = 'post' ][, bool $debug = false ][, positive-int $db = 1 ]) : static
Parameters
$tableName : string
$fieldset : string
$whereCondition : string
$method : "post"|"get" = 'post'
$debug : bool = false
$db : positive-int = 1

DB connection ID

Return values
static

a rex_form instance

fieldsetPostValues()

public fieldsetPostValues(string $fieldsetName) : array<string|int, mixed>
Parameters
$fieldsetName : string
Return values
array<string|int, mixed>

get()

public get() : string
Return values
string

getInputAttributes()

public static getInputAttributes(string $inputType) : array<string|int, mixed>
Parameters
$inputType : string
Return values
array<string|int, mixed>

getInputClassName()

public static getInputClassName(string $inputType) : rex_form_element>
Parameters
$inputType : string
Tags
throws
rex_exception
Return values
rex_form_element>

getInputTagName()

public static getInputTagName(string $inputType) : string
Parameters
$inputType : string
Return values
string

getMessage()

public getMessage() : string
Return values
string

getName()

public getName() : string
Return values
string

getParam()

Gibt den Wert des Parameters $name zurueck, oder $default kein Parameter mit dem Namen exisitiert.

public getParam(string $name[, mixed $default = null ]) : mixed
Parameters
$name : string
$default : mixed = null

getParams()

Gibt alle Parameter des Fomulars zurueck.

public getParams() : array<string, string|int|bool>
Return values
array<string, string|int|bool>

getSql()

public getSql() : rex_sql
Return values
rex_sql

getTableName()

public getTableName() : non-empty-string
Return values
non-empty-string

getUrl()

Gibt eine Formular-Url zurück.

public getUrl([array<string|int, mixed> $params = [] ][, bool $escape = true ]) : string
Parameters
$params : array<string|int, mixed> = []
$escape : bool = true
Return values
string

getWarning()

public getWarning() : string
Return values
string

getWhereCondition()

Gibt die Where-Bedingung des Formulars zurueck.

public getWhereCondition() : string
Return values
string

init()

Initialisiert das Formular.

public init() : void

isEditMode()

Prueft ob sich das Formular im Edit-Modus befindet.

public isEditMode() : bool
Return values
bool

setApplyUrl()

Setzt die Url die bei der apply-action genutzt wird.

public setApplyUrl(string|array<string|int, mixed> $url) : void
Parameters
$url : string|array<string|int, mixed>

setEditMode()

Wechselt den Modus des Formulars.

public setEditMode(bool $isEditMode) : void
Parameters
$isEditMode : bool

setFormAttribute()

public setFormAttribute(string $attributeName, string|null $attributeValue) : void
Parameters
$attributeName : string
$attributeValue : string|null

setFormId()

public setFormId(string|null $id) : void
Parameters
$id : string|null

setLanguageSupport()

Mehrsprachigkeit unterstuetzen.

public setLanguageSupport(string $idField, string $clangField) : void
Parameters
$idField : string
$clangField : string

setMessage()

public setMessage(string|null $message) : void
Parameters
$message : string|null

setWarning()

public setWarning(string|null $warning) : void
Parameters
$warning : string|null

__construct()

Diese Konstruktor sollte nicht verwendet werden. Instanzen muessen ueber die factory() Methode erstellt werden!

protected __construct(non-empty-string $tableName, string $fieldset, string $whereCondition[, "post"|"get" $method = 'post' ][, bool $debug = false ][, positive-int $db = 1 ]) : mixed
Parameters
$tableName : non-empty-string
$fieldset : string
$whereCondition : string
$method : "post"|"get" = 'post'
$debug : bool = false
$db : positive-int = 1

DB connection ID

createElement()

Erstellt ein Input-Element anhand von $tag.

protected createElement(string $tag, string $name, mixed $value[, array<string|int, mixed> $attributes = [] ]) : rex_form_element
Parameters
$tag : string
$name : string
$value : mixed
$attributes : array<string|int, mixed> = []
Return values
rex_form_element

delete()

protected delete() : bool|int
Return values
bool|int

getFieldsetName()

protected getFieldsetName() : string
Return values
string

getFieldsets()

protected getFieldsets() : array<int, string>
Return values
array<int, string>

getId()

protected getId(mixed $name) : string
Parameters
$name : mixed
Return values
string

getValue()

protected getValue(mixed $name) : mixed
Parameters
$name : mixed

loadBackendConfig()

Laedt die Konfiguration die noetig ist um rex_form im REDAXO Backend zu verwenden.

protected loadBackendConfig() : void

preSave()

Callbackfunktion, damit in subklassen der Value noch beeinflusst werden kann kurz vorm speichern.

protected preSave(string $fieldsetName, string $fieldName, string|int|null $fieldValue, rex_sql $saveSql) : string|int|null
Parameters
$fieldsetName : string
$fieldName : string
$fieldValue : string|int|null
$saveSql : rex_sql
Return values
string|int|null

preView()

Callbackfunktion, damit in subklassen der Value noch beeinflusst werden kann wenn das Feld mit Datenbankwerten angezeigt wird.

protected preView(string $fieldsetName, string $fieldName, mixed $fieldValue) : mixed
Parameters
$fieldsetName : string
$fieldName : string
$fieldValue : mixed

processPostValues()

Übernimmt die POST-Werte in die FormElemente.

protected processPostValues() : void

redirect()

protected redirect([string $listMessage = '' ][, string $listWarning = '' ][, array<string|int, mixed> $params = [] ]) : never
Parameters
$listMessage : string = ''
$listWarning : string = ''
$params : array<string|int, mixed> = []
Return values
never

save()

Speichert das Formular.

protected save() : bool|int

Übernimmt die Werte aus den FormElementen in die Datenbank.

Gibt true zurück wenn alles ok war, false bei einem allgemeinen Fehler, einen String mit einer Fehlermeldung oder den von der Datenbank gelieferten ErrorCode.

Return values
bool|int

validate()

Validiert die Eingaben.

protected validate() : bool|string

Gibt true zurück wenn alles ok war, false bei einem allgemeinen Fehler oder einen String mit einer Fehlermeldung.

Eingaben sind via $el = $this->getElement($fieldSetName, $fieldName); $val = $el->getValue(); erreichbar.

Return values
bool|string

        
On this page

Search results