Průvodce formulářovým API - validace a odesílání formulářů
Pondělí, 06 Duben 2009 18:29
Dnes navážeme na článek o tvorbě a šablonování formulářů v Drupalu a povíme si o validaci (kontrole vyplnění jednotlivých formulářových polí) a odesílání formuláře.Validace formulářů
Validace formulářů není nic jiného než kontrola vstupních dat v jednotlivých polích. Například pokud vytvoříme formulářové pole poštovní směrovací číslo, budeme chtít aby uživatel zadal vždy pouze číslo, pomocí API můžeme snadno vytvořit funkci,která nám toto bude kontrolovat. Jméno funkce, která kontroluje formulář se skládá z ID formuláře a sufixu _validate. Pokud se tedy funkce vytvářecí formulář nazývá test_form, funkce která ho bude kontrolovat se bude jmenovat test_form_validate. Funkce má dva argumenty: $form a $form_state. $form je pole odeslaného formuláře a $form_state['values'] obsahuje hodnoty, které budeme kontrolovat.
Ukázkový kód bude tedy vypadat:
Odesílání formulářů
Odesílání je velice podobné validaci, opět stačí vytvořit funkci složenou z názvu funkce vytvářující formulář a přípony _submit, funkce má ty samé argumenty jako při validaci. Raději si opět ukážeme kód:
- Funkce pro odeslání je zavolána pouze pokud formulář prošel validací, a zároveň je vytvořeno odesílací tlačítko a existuje proměnná $_POST
- $form_state['values'] pole nebude mít většinou stejnou hierarchii jako vytvořené $form pole
- Pokud má formulář potvrzovací funkci, poté nejsou potřebné skryté formulářové hodnoty. Místo toho, všechny hodnoty které potřebujete dostat do $form_state['values'] mohou být deklarovány v poli $form například takto:
Poté k této proměnné můžeme přistupovat přes $form_state['values']['foo'], která bude mít v tomto případě hodnotu bar. Tato metoda je preferována, jelikož neposílá hodnoty do prohlížeče.
Článek byl přeložen z oficiálních stránek drupal.org. Ukázky funkce test_form můžete najít ve článku o tvorbě a šablonování formulářů
Přidej Váš komentář
Další odkazy
Spřátelené weby
Anketa
Uživatelé na chatu
- No users online
