Jet\Form_Field

Přehled konstant

Typy polí

Konstanta / Typ Třída Účel
Form_Field::TYPE_HIDDEN Jet\Form_Field_Hidden Skryté formulářové pole
Form_Field::TYPE_INPUT Jet\Form_Field_Input Obecné vstupní pole pro libovolný text
Form_Field::TYPE_INT Jet\Form_Field_Int Celé číslo
Form_Field::TYPE_FLOAT Jet\Form_Field_Float Desetinné číslo
Form_Field::TYPE_RANGE Jet\Form_Field_Range Výběr čísla posuvníkem z určeného rozsahu
Form_Field::TYPE_DATE Jet\Form_Field_Date Datum
Form_Field::TYPE_DATE_TIME Jet\Form_Field_DateTime Datum a čas
Form_Field::TYPE_MONTH Jet\Form_Field_Month Výběr měsíce v roce
Form_Field::TYPE_WEEK Jet\Form_Field_Week Výběr týdne v roce
Form_Field::TYPE_TIME Jet\Form_Field_Time Čas
Form_Field::TYPE_EMAIL Jet\Form_Field_Email Adresa e-mailu
Form_Field::TYPE_TEL Jet\Form_Field_Tel Telefonní číslo
Form_Field::TYPE_URL Jet\Form_Field_Url URL
Form_Field::TYPE_SEARCH Jet\Form_Field_Search Vyhledávací pole
Form_Field::TYPE_COLOR Jet\Form_Field_Color Výběr barvy z palety barev
Form_Field::TYPE_SELECT Jet\Form_Field_Select Výběr jedné možnosti z více možností.
Form_Field::TYPE_MULTI_SELECT Jet\Form_Field_MultiSelect Výběr více možností z více možností
Form_Field::TYPE_CHECKBOX Jet\Form_Field_Checkbox Klasické zaškrtávací políčko
Form_Field::TYPE_RADIO_BUTTON Jet\Form_Field_RadioButton Výběr jedné možnosti z více možností pomocí radio buttonku.
Form_Field::TYPE_TEXTAREA Jet\Form_Field_Textarea Textové pole
Form_Field::TYPE_WYSIWYG Jet\Form_Field_WYSIWYG HTML WYSIWYG editor
Form_Field::TYPE_PASSWORD Jet\Form_Field_Password Pole pro skryté zadání hesla
Form_Field::TYPE_FILE Jet\Form_Field_File Pole pro nahrání jednoho nebo více souborů
Form_Field::TYPE_FILE_IMAGE Jet\Form_Field_FileImage Pole pro nahrání jednoho nebo více obrázků

Samozřejmě můžete vytvářet své vlastní nové typy polí.

Přehled metod

Obecné

Obecné metody souvisí především s definicí formulářů.

Metoda Význam
public __construct(
string $name,
string $label=\'\',
mixed $default_value=\'\',
bool $is_required=false
)
Parametry:
  • $name
    Název pole.
  • $label
    Popisek pole.
  • $default_value
    Výchozí hodnota pole.
  • $is_required
    Pole je / není povinné.
public setup(
array $properties
) : void
Nastaví vlastnosti pole. Metoda je určena pro vnitřní použití - pro automatické generování formulářů. Mimo tento účel by neměla být používána.
public setForm(
Form $form
) : void
Nastaví instanci formuláře do kterého pole náleží.
Metoda pro vnitřní použití. Neměla by být používána v aplikačním prostoru.
public getForm(
) : Form
Vrátí instanci formuláře do kterého pole náleží
public getName(
) : string
Vrátí název pole.
public setName(
string $name
) : void
Nastaví název pole.
public getId(
) : string
Vrátí ID pole (pro HTML a JavaScript).
public getTagNameValue(
) : string
Vrátí hodnotu názvu pole pro HTML.
public setDefaultValue(
mixed $default_value
) : void
Nastaví výchozí hodnotu.
public getDefaultValue(
) : mixed
Vrátí výchozí hodnotu.
public setLabel(
string $label
) : void
Nastaví popisek pole.
public getLabel(
) : string
Vrátí nastavený popisek pole - již přeložený.
public setPlaceholder(
string $placeholder
) : void
Nastaví tzv. placeholder - text na "na pozadí" vstupního pole.
public getPlaceholder(
) : string
Vrátí tzv. placeholder - text na "na pozadí" vstupního pole - již přeložený.
public setHelpText(
string $help_text
) : void
Nastaví nápovědu k poli.
public getHelpText(
) : string
Vrátí nastavenou nápovědu k poli - již přeložený a doplněný o data.
public setHelpData(
string $help_text
) : void
Nastaví data k nápovědě pole. Příklad použití: $int_field = new Form_Field_Int'int''Int' );
$int_field->setIsRequiredtrue );
$int_field->setMinValue10 );
$int_field->setMaxValue100 );
$int_field->setHelpText('Minimal value: %min%, maximal value: %max%');
$int_field->setHelpData([
    
'min' => Locale::int($int_field->getMinValue()),
    
'max' => Locale::int($int_field->getMaxValue()),
]);
.
public getHelpData(
) : string
Vrátí data k nápovědě pole.
public setIsRequired(
string $required
) : void
Nastaví zda pole je / není povinné.
public getIsRequired(
) : bool
Indikuje zda pole je / není povinné.
public getIsReadonly(
) : bool
Nastaví zda pole je / není pouze pro čtení.
public setIsReadonly(
bool $is_readonly
) : void
Indikuje zda pole je / není pouze pro čtení.
public jsonSerialize(
) : array
Instanci formuláře je možné předat funkci json_encode

Zachycení a validace

Následuje přehled metod majících souvislost se zachycením a validací dat.

Metoda Význam
public catchInput(
Data_Array $data
) : void
Metoda pro vnitřní použití, kterou volá formulář při zachytávání vstupu.
public setValidator(
callable $validator
)
Nastavuje validátor. Prototyp validátoru je: function( Form_Field $field ) : bool
public getValidator(
) : callable|null
Vrací nastavený validátor.
public getRequiredErrorCodes(
) : array
Vrací seznam chybových kódů, pro které bude pole vyžadovat definici chybových hlášení.
public getErrorMessages(
) : array
Vrací nastavená chybová hlášení.
public setErrorMessages(
array $error_messages
) : void
Nastavuje chybová hlášení v podobě asociovaného pole, kde klíčem je chybový kód a hodnota chybové hlášení.
public getErrorMessage(
string $code,
array $data=[]
) : string|bool
Vrátí vygenerované chybové hlášení pro daný chybový kód. Hlášení je již přeložené a doplněné o případná data.
public setError(
string $code,
array $data=[]
) : void
Metoda určená především pro použití ve validátorech. Nastavuje pole do stavu chyby - tedy určuje že při validaci došlo k dané chybě.
public getAllErrors(
) : Form_ValidationError[]
Vrací seznam všech validačních chyb.
public getLastErrorCode(
) : string
Vrací kód poslední zaznamenané validační chyby.
public getLastErrorMessage(
) : string
Vrací chybovou hlášku poslední zaznamenané validační chyby.
protected setIsValid(
) : void
Opak metody setError. Tedy nastavuje pole do stavu bez chyby. Rovněž se jedná o metodu určenou primárně pro validátory.
public isValid(
) : bool
Indukuje zda pole je / není validní.
public validate(
) : bool
Provede proces validace a rovnou indikuje zda je pole validní. Primárně se jedná o metodu pro vnitřní použití volanou formulářem.

Práce se zachycenými daty

Tyto metody mají souvislost s prací se zachycenými daty a jejich předáním.

Metoda Význam
public hasValue(
) : bool
Indikuje zda hodnota vůbec byla zachycena. Tedy zda daná hodnota vůbec existovala ve vstupních datech.
public getValue(
) : mixed
Vrací zpracovanou zachycenou hodnotu. To znamená, že číslo je převedeno na číslo, řetězec zakódován pomocí HTML special chars a tak dále.
public getValueRaw(
) : mixed
Vrací nezpracovanou zachycenou hodnotu tak jak byla na vstupu.
Metoda nesmí být použita pokud si nejste naprosto jistí že ji potřebujete. Ale například pro zachycení obsahu WYSIWYG editoru (kde je HTML podstatou jeho funkce) je její použití nutné.
public setValue(
mixed $value
) : void
Nastavuje zpracovanou hodnotu pole. Metoda pro vnitřní použití a pro validátory.
public setFieldValueCatcher(
callable $catcher
) : void
Nastavuje zachytávač hodnot. Prototyp zachytávače je: function (mixed $value) : void
public getFieldValueCatcher(
) : callable|null
Vrací nastavený zachytávač hodnot.
public catchFieldValue(
) : void
Provede zachycení hodnoty. Metoda pro vnitřní použití, kterou volá formulář.

Překlad

Metoda Význam
public setDoNotTranslateLabel(
bool $do_not_translate_label
) : void
Tato metoda umožňuje potlačit překlad popisku elementu.
public getDoNotTranslateLabel(
) : bool
Indikuje zda je potlačeno překládání popisku elementu.
public _(
string $phrase,
array $data=[]
) : string
Přeloží daný text dle nastavení formuláře. Metoda se primárně používá pro interní účely.

Zobrazení

A na závěr metody související se zobrazováním formulářového pole.

Metoda Význam
public __toString(
) : string
Element je možné přímo převést na řetězec a tím jej zobrazit. Při tom se volá metoda render.
public render(
) : string
Zabezpečí vygenerování HTML kódu reprezentujícího formulářové pole dle všech nastavení a výsledek vrátí jako návratovou hodnotu.

Prakticky se jedná o zkratku volání: $field->renderer()->render();
public renderer(
) : Form_Renderer_Field
Přístup k hlavními rendereru formulářového pole.
public row(
) : Form_Renderer_Field_Row
Přístup k rendereru řádku formulářového pole pomocí něhož je možné řádek dále nastavovat, nebo jednotlivě zobrazovat.

Prakticky se jedná o zkratku volání: $field->renderer()->row();
public container(
) : Form_Renderer_Field_Container
Přístup k rendereru kontejneru formulářového pole pomocí něhož je možné kontejner dále nastavovat, nebo jednotlivě zobrazovat.

Prakticky se jedná o zkratku volání: $field->renderer()->container();
public error(
) : Form_Renderer_Field_Error
Přístup k rendereru chybového hlášení pomocí něhož je možné chybové hlášení dále nastavovat, nebo jednotlivě zobrazovat.

Prakticky se jedná o zkratku volání: $field->renderer()->error();
public label(
) : Form_Renderer_Field_Label
Přístup k rendereru popisku pomocí něhož je možné popisek dále nastavovat, nebo jednotlivě zobrazovat.

Prakticky se jedná o zkratku volání: $field->renderer()->label();
public help(
) : Form_Renderer_Field_Help
Přístup k rendereru nápovědy pomocí něhož je možné popisek dále nastavovat, nebo jednotlivě zobrazovat.

Prakticky se jedná o zkratku volání: $field->renderer()->help();
public input(
) : Form_Renderer_Field_Input
Přístup k rendereru samotného vstupního pole pomocí něhož je možné vstupní pole dále nastavovat, nebo jednotlivě zobrazovat.

Prakticky se jedná o zkratku volání: $field->renderer()->input();
Předchozí kapitola
Jet\Form
Další kapitola
Jet\Form_ValidationError