Validacia – formular nezavola svoju callback metodu on onClick po invalidovani
- duskohu
- Člen | 778
Caute viete mi poradit? Mam formulat v nom mam:
$form->addSelect('parent', 'Rodič')
->addRule(Form::FILLED, 'Pole "%label" musí byť zvolené!')
->setPrompt('- Zvoliť -');
potom mam ajaxovi handle v ktorom nastavim na tento select setDisabled() a
invalidujem tento select. Takze by sa nemal validovat, ani mi nenaskoci hlaska
ktoru mam v addRule().
handle
public function handleChangeGrupTypeId() {
$form = $this->getComponent("form");
$form['parent']->setDisabled();
}
if ($this->presenter->isAjax()) {
$this->invalidateControl('parent');
} else {
$this->presenter->redirect('this');
}
}
ale problem je v tom ze sa mi nezavola callback metoda na onClick ktoru mam
naviazanu na tento formular. Nevypise mi ani ziadnu hlasku cez js validaciu ani
v sablone {control $form errors}. neviem ani kde to zastane. Ale ked urobim
hned na zaciatku ze nastavim tomu prvku setDisabled, tak to prejde, lenze ja mam
na to ten handle ktory ked zavolam mi ten select vypne, inak ho tam chcem
mat.
formular:
// toto prejde
$form->addSelect('parent', 'Rodič')
->addRule(Form::FILLED, 'Pole "%label" musí byť zvolené!')
->setDisabled()
->setPrompt('- Zvoliť -');
Takze vysledok je ten isty, bud nastavim setDisabled formularovemu prvku manualne hned na zaciatku (takto to nechcem) alebo pomocou handle a invalidujem ten prvok. Problem nastane v tedy ked prvku nastavim setDisabled cez handle ajaxovo, vtedy sa mi nezavola callback metoda na onClick. Niekde to ostane stat, lebo mi nevrati ani js error ani error v sablone.
Neviete mi poradit co mam zle?
- duskohu
- Člen | 778
Tak uz som prisiel v com je problem. Ked invalidnem selectBox vlozim do neho nove data dam odoslat ale ked si potom dam vypisat data v metode kde ich spracujem tak ma ten selectBox hodnotu NULL, cise select box v invalidovanom snippete neposle nastavene udaje. Ale preco?
Editoval duskohu (20. 12. 2012 13:58)
- duskohu
- Člen | 778
ahoj DependentSelectBox som nepouzil lebo mi nevyhovuje: https://forum.nette.org/…-v-statickom, a robim to takto https://forum.nette.org/…jax-s-jquery?p=6, podla mna je to dost ciste, len mam nieco zle, a ani za svet neviem prist na to co to je :-(
- duskohu
- Člen | 778
Kto nepozorne cita ten sa natrapi: https://blog.nette.org/…-and-pure-js
$values = $form->getHttpData(); // getValues() is not enough for $form["dynamic"]
unset($values["send"]); // we don't need this
Editoval duskohu (20. 12. 2012 15:30)