To, že akýkoľvek formulár v Drupale si vieme upraviť prostredníctvom hook_form_alter je pomerne známa a veľmi využívaná vec. Čo ale ak chceme tieto údaje aj nejakým spôsobom zvalidovať, tzn. ošetriť ich správnosť? Funkcia ako hook_validation_alter v Drupale neexistuje a hook_validate je určená len pre node formuláre, teda formuláre pre pridávanie obsahu. Možnosť, samozrejme, existuje, je prítomná aj v API dokumentácii, ale keďže trošku skrytá a i mne chvíľu trvalo kým som ju našiel, dám ju sem a možno niekomu uľahčím robotu. Keď do hook_form_alter pridáte tento riadok $form['#validate'][] = 'your_validation_function';
tak tým definujete funkciu, ktorá sa má použiť na dodatočnú validáciu odoslaného formulára. Funkcia your_validation_function
poberie parametre $form
a &$form_state
. Ako vidíte, $form['#validate']
je pole, takže tých funkcií môže byť neúrekom. Dajte pozor aby ste v rámci dodatočných validačných funkcií reportovali všetkych chyby volaním form_set_error().
Anketa o nejlepší českou knihu vydanou v posledních 25 letech, kterou najdete v novém Respektu, se nerodila snadno. Odpověď na otázku, kterou jsme zaslali významným osobnostem naší kulturní scény, nezřídka začínala nedůvěrou: „Těžko z takového množství vybrat jen tři knihy.“ – „Literatura není sport a vyhlašovat nejlepší knihu jde proti jejímu smyslu.“ – „Definovat v oblasti kultury jakékoli žebříčky, nominace či ocenění je vždy ošidné a subjektivní.“
Pridať nový komentár