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
$applyUrl
protected
string|null
$applyUrl
$db
protected
positive-int
$db
$debug
protected
bool
$debug
$elements
protected
array<string, array<int, rex_form_element>>
$elements
$errorMessages
protected
array<int, string>
$errorMessages
= []
$fieldset
protected
string
$fieldset
$formId
protected
string|null
$formId
$languageSupport
protected
array<string|int, mixed>
$languageSupport
= []
$message
protected
string|null
$message
$method
protected
string
$method
"get" or "post"
$mode
protected
string
$mode
$name
protected
string
$name
$params
protected
array<string, string|int|bool>
$params
$sql
protected
rex_sql
$sql
$tableName
protected
non-empty-string
$tableName
$warning
protected
string|null
$warning
$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_elementaddContainerField()
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_elementaddControlField()
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_elementaddErrorMessage()
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_elementaddFieldset()
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_elementaddInputField()
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_elementaddLinklistField()
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
Return values
rex_form_widget_linklist_elementaddLinkmapField()
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
Return values
rex_form_widget_linkmap_elementaddMediaField()
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
Return values
rex_form_widget_media_elementaddMedialistField()
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
Return values
rex_form_widget_medialist_elementaddParam()
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_elementaddRadioField()
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_elementaddRawField()
Fuegt dem Formular beliebiges HTML zu.
public
addRawField(string $html) : rex_form_raw_element
Parameters
- $html : string
-
HTML code
Return values
rex_form_raw_elementaddReadOnlyField()
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_elementaddReadOnlyTextField()
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_elementaddSelectField()
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_elementaddTextAreaField()
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_elementaddTextField()
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_elementcreateInput()
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_elementelementPostValue()
public
elementPostValue(string $fieldsetName, string $fieldName[, string|null $default = null ]) : string|null
Parameters
- $fieldsetName : string
- $fieldName : string
- $default : string|null = null
Return values
string|nullequals()
public
equals(object $form) : bool
Parameters
- $form : object
Return values
boolfactory()
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
stringgetInputAttributes()
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
Return values
rex_form_element>getInputTagName()
public
static getInputTagName(string $inputType) : string
Parameters
- $inputType : string
Return values
stringgetMessage()
public
getMessage() : string
Return values
stringgetName()
public
getName() : string
Return values
stringgetParam()
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_sqlgetTableName()
public
getTableName() : non-empty-string
Return values
non-empty-stringgetUrl()
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
stringgetWarning()
public
getWarning() : string
Return values
stringgetWhereCondition()
Gibt die Where-Bedingung des Formulars zurueck.
public
getWhereCondition() : string
Return values
stringinit()
Initialisiert das Formular.
public
init() : void
isEditMode()
Prueft ob sich das Formular im Edit-Modus befindet.
public
isEditMode() : bool
Return values
boolsetApplyUrl()
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
show()
public
show() : void
__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
addElement()
Allgemeine Bootleneck-Methode um Elemente in das Formular einzufuegen.
protected
addElement(rex_form_element $element) : rex_form_element
Parameters
- $element : rex_form_element
Return values
rex_form_elementcreateElement()
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_elementdelete()
protected
delete() : bool|int
Return values
bool|intgetControlElement()
protected
getControlElement() : rex_form_control_element|null
Return values
rex_form_control_element|nullgetElement()
protected
getElement(string $fieldsetName, string $elementName) : rex_form_element|null
Parameters
- $fieldsetName : string
- $elementName : string
Return values
rex_form_element|nullgetFieldsetElements()
protected
getFieldsetElements() : array<string, array<int, rex_form_element>>
Return values
array<string, array<int, rex_form_element>>getFieldsetName()
protected
getFieldsetName() : string
Return values
stringgetFieldsets()
protected
getFieldsets() : array<int, string>
Return values
array<int, string>getFooterElements()
protected
getFooterElements() : array<int, rex_form_element>
Return values
array<int, rex_form_element>getHeaderElements()
protected
getHeaderElements() : array<int, rex_form_element>
Return values
array<int, rex_form_element>getId()
protected
getId(mixed $name) : string
Parameters
- $name : mixed
Return values
stringgetSaveElements()
protected
getSaveElements() : array<string, array<int, rex_form_element>>
Return values
array<string, array<int, rex_form_element>>getValue()
protected
getValue(mixed $name) : mixed
Parameters
- $name : mixed
isControlElement()
protected
isControlElement(rex_form_element $element) : bool
Parameters
- $element : rex_form_element
Tags
Return values
boolisFooterElement()
protected
isFooterElement(rex_form_element $element) : bool
Parameters
- $element : rex_form_element
Tags
Return values
boolisHeaderElement()
protected
isHeaderElement(rex_form_element $element) : bool
Parameters
- $element : rex_form_element
Return values
boolisRawElement()
protected
isRawElement(rex_form_element $element) : bool
Parameters
- $element : rex_form_element
Tags
Return values
boolloadBackendConfig()
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|nullpreView()
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
neversave()
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|intvalidate()
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.