KB form
Aus Kitbooth Wiki: Deutsch
Inhaltsverzeichnis |
Beschreibung
Die Klasse KB_form unterstützt den Webdesigner und Entwickler beim Erstellen und Auswerten von Formularen. Zusätzliche Funktionen wie ein E-Mail-Versand oder eine Registrierung werden bei der Auswertung der übersendeten Daten unterstützt.
Verwendung
KB_form wird für jedes Formular einmal instanziert. Die Core-Funktionalität stellt dafür die Funktion $kbc->form_o() im globalen Kontext zur Verfügung.
$form = $kbc->form_o();
new_element()
Jedes Formular-Element wird einzeln definiert. Dazu wird die Methode new_element aufgerufen und der Name des Elements übergeben. Danach kann das Element über $form->element[' Name '] angesprochen werden.
$form->new_element("Name");
Das neu definierte Element besitzt bereits alle wichtigen Eigenschaften. So ist der z. B. Formulartyp ein Input-Feld. Vorgegebene Eigenschaften können überschrieben werden.
Eigenschaften
type
Type legt den Formulartyp fest. Mögliche Werte sind:
Eigenschaft | Beschreibung | HTML-Entsprechung |
---|---|---|
input | Texteingabefeld | <input type="text"> |
password | Passworteingabefeld | <input type="password"> |
hidden | Verstecktes Textfeld | <input type="hidden"> |
textarea | Mehrzeiliges Textfeld | <textarea> |
radio | Einfachauswahl | <input type="radio"> |
select | Mehrfachauswahl | <select> |
checkbox | Mehrfachauswahl zum Ankreuzen | <input type="checkbox"> |
dropdown | Dropdown-Menü | <select> |
button | Schaltfläche | <button> |
submit | Schaltfläche zum Absenden | <button type="submit"> |
$form->element['Name']['type'] = 'dropdown';
value
Mit value lassen sich die Werte von Formularelemente vorbelegen. Bei den Formularelmente, die eine Auswahl an Werten ermöglichen (wie Dropdown-Menü), ist zu dem die Festlegung der möglichen Werte über value pflicht.
Der Standardwert für value ist leer.
Für Elemente mit den Typ input, password, hidden, textarea , button oder submit wird der Wert als String übergeben.
$form->element['Name']['value'] = 'Wert' ;
Für Elemente mit den Typ radio, select, checkbox oder dropdown wird der Wert als Array übergeben.
$form->element['Name']['value'] = array( 'Wert',$array);
Der zweite Wert im Array, beinhaltet die möglichen Werte, die das Formular-Element haben kann, ebenfalls als Array. Die Vorbelegung und der versendete Wert werden mit den Keys (nicht den Values) des Arrays durchgeführt.
$array = array( 'name1' => 'Erster Name', 'name2' => 'Zweiter Name' );
Soll Erster Name vorbelegt werden, muss name1 übergeben werden.
$form->element['Name']['value'] = array( 'name1',$array);
Soll kein Wert vorbelegt werden, muss NULL übergeben werden.
$form->element['Name']['value'] = array( NULL,$array);
essential
Die Eigenschaft essential legt fest, ob das Formularelement ein Pflichtfeld ist, also ausgefüllt sein muss. Wenn das Feld nicht oder nicht korrekt ausgefüllt wurde, wird die Eigenschaft message über die Methode message() ausgegeben und die Methode check() gibt false zurück.
Der Standardwert für essential ist false.
$form->element['Name']['essential'] = true;
label
Die Eigenschaft label beinhaltet die Bezeichnung, die über die Methode label() das Label des Formularelements als HTML ausgibt.
Der Standardwert für label ist leer.
$form->element['Name']['label'] = 'Name:';
description
Der Standardwert für description ist leer.
message
Die Eigeschaft message beinhaltet den Text, der ausgegeben wird falls beim zugehörigen Formularelement ein Fehler durch die Methode check() ermittelt wurde.
Der Standardwert für message ist Dieses Feld muss ausgefüllt sein.
$form->element['Name']['message'] = 'Name muss ausgefüllt sein.';
markup
Der Standardwert für markup ist leer.
label()
Die Methode label() gibt das die Eigenschaft label als HTML Label (<label>) aus. Ist die Eigenschaft leer, wird nichts ausgegeben.
$form->label('Name');
field()
Die Methode field() gibt das Formularfeld als HTML aus.
$form->field('Name');
message()
Die Methode message() gibt das die Eigenschaft message aus.
$form->message('Name');