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

Súvisiace články:

Poslať nový komentár

Obsah tohto poľa je súkromný a nebude verejne zobrazený.
  • Webové a e-mailové adresy sú automaticky zmenené na odkazy.
  • Povolené sú HTML značky: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Riadky a odstavce sa zalomia automaticky.
  • Zvýrazňovanie syntaxe zdrojového kódu môžete zapnúť pomocou nasledujúcich značiek: <code>, <blockcode>, <c>, <cpp>, <css>, <drupal5>, <drupal6>, <html4strict>, <java>, <javascript>, <php>, <python>, <ruby>.

Viac informácií o možnostiach formátovania

By submitting this form, you accept the Mollom privacy policy.