Ako na validáciu elementov pridaných cez hook_form_alter?

Pridal/a petiar dňa

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().

Pridať nový komentár

A ešte si overíme, či toto píše človek a nie robot.
Never hoaxom a odpovedz ako vzdelaný človek.
Súvisiace odkazy
Zaujímavé odkazy

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í.“

Daniel Šmihula napísal pre Denník N relatívne optimistický článok o tom, že to s tými bujnejúcimi autoritárskymi tendenciami nebude až také zlé, resp. že v dlhodobom horizonte sa asi aj tak môžeme tešiť na liberálne demokracie.