Condition / Rule / Další věci – posloupnost
- Kcko
- Člen | 468
Ahoj,
potřebuji cosi nastavovat radio listu
1)
<?php
$form->addRadioList('agreePpf', '', $agreePpf)
->getSeparatorPrototype()->setName(NULL)
->addConditionOn($form['gdprType'], $form::EQUAL, 2)
->addRule($form::FILLED);
?>
Chyba: Object of class Nette\Forms\Controls\RadioList could not be converted to string
2)
<?php
$form->addRadioList('agreePpf', '', $agreePpf)
->addConditionOn($form['gdprType'], $form::EQUAL, 2)
->addRule($form::FILLED)
->getSeparatorPrototype()->setName(NULL);
?>
Chyba: Call to undefined method Nette\Forms\Rules::getSeparatorPrototype()
- funkční řešení
<?php
$form->addRadioList('agreePpf', '', $agreePpf)
->addConditionOn($form['gdprType'], $form::EQUAL, 2)
->addRule($form::FILLED);
$form['agreePpf']->getSeparatorPrototype()->setName(NULL);
?>
Moje otázka tedy asi zní, lze nějak řetezit v onom objektu a ukončovat vrstvy (rule a další metody) tak bych mohl pracovat s tím čím potřebuji a nemusel jsem to dělat tímto způsobem? Koukal jsem do kódu a nic moc jsem nenašel čím to udělat.
Editoval Kcko (13. 9. 2018 17:10)
- Tyraxor
- Člen | 31
Ahoj,
tohle zřetězit nepůjde, protože některé funkce vrací jiné objekty,
ještě to lze řešit takto, ale není to o moc lepší
$agreeRadio = $form->addRadioList('agreePpf', '', $agreePpf);
$agreeRadio->getSeparatorPrototype()->setName(NULL);
$agreeRadio->addCondition($form['gdprType'], $form::EQUAL, 2)
->addRule($form::FILLED);
Editoval Tyraxor (13. 9. 2018 17:20)
- Kcko
- Člen | 468
Tyraxor napsal(a):
Ahoj,
tohle zřetězit nepůjde, protože některé funkce vrací jiné objekty, ještě to lze řešit takto, ale není to o moc lepší$agreeRadio = $form->addRadioList('agreePpf', '', $agreePpf); $agreeRadio->getSeparatorPrototype()->setName(NULL); $agreeRadio->addCondition($form['gdprType'], $form::EQUAL, 2) ->addRule($form::FILLED);
Ahoj, díky za info. To je to samé v bleděmodrém, mě šlo jen o to, jestli to nějak jde řetězit :-)
- Kcko
- Člen | 468
Felix napsal(a):
Kcko napsal(a):
Ahoj, díky za info. To je to samé v bleděmodrém, mě šlo jen o to, jestli to nějak jde řetězit :-)
A proc tak nutne stojis o to, aby to slo zretezit? Aby to vypadalo lepe nebo i kvuli necemu jinemu?
To taky, vypadá to lépe, nepoužíval bych další zbytečnou proměnnou
fori sahání na ten prvek v rámmci $forms.
Stačila by jedna metoda vracející to co vrací $forms[„prvek“]. Nebo
proč je to tak nechtěné?
- Felix
- Nette Core | 1245
Kcko napsal(a):
To taky, vypadá to lépe, nepoužíval bych další zbytečnou proměnnou fori sahání na ten prvek v rámmci $forms.
Stačila by jedna metoda vracející to co vrací $forms[„prvek“]. Nebo proč je to tak nechtěné?
Jen se ptam, jsou legitimni duvody, ze to nejde. Tak netreba to rvat pres koleno. Jedna promenna navic nicemu neva. :-)
- Kcko
- Člen | 468
Felix napsal(a):
Kcko napsal(a):
To taky, vypadá to lépe, nepoužíval bych další zbytečnou proměnnou fori sahání na ten prvek v rámmci $forms.
Stačila by jedna metoda vracející to co vrací $forms[„prvek“]. Nebo proč je to tak nechtěné?Jen se ptam, jsou legitimni duvody, ze to nejde. Tak netreba to rvat pres koleno. Jedna promenna navic nicemu neva. :-)
Ok, však jo, jen jsem se chtěl ujistit, že třeba blbě nehledám v dokumentaci / zdrojáků, občas se prostě chci zeptat, at nedělám něco blbě :)
- David Matějka
- Moderator | 6445
metoda getControl na Rules by
smysl mozna davala a bylo by to snadne (zkus poslat PR), ale z
getSeparatorPrototype
, ktere vraci Nette\Utils\Html
je
to neproveditelne bez podedeni te tridy
- Kcko
- Člen | 468
David Matějka napsal(a):
metoda getControl na Rules by smysl mozna davala a bylo by to snadne (zkus poslat PR), ale z
getSeparatorPrototype
, ktere vraciNette\Utils\Html
je to neproveditelne bez podedeni te tridy
Chápu, že je to nějaký princip Single Responsibility. Jen říkám, že by se mi to líbilo :-)