Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Schovávání prvku #15

Closed
TomasA opened this issue Aug 17, 2017 · 16 comments
Closed

Schovávání prvku #15

TomasA opened this issue Aug 17, 2017 · 16 comments

Comments

@TomasA
Copy link

TomasA commented Aug 17, 2017

Nette umožňuje zobrazit/schovat pole a jeho validační pravidla v závislosti na plnění podmínek.

ReCaptcha se sice při splnění podmínky správně nastavuje jako povinné pole, nicméně se javascriptově neschová.

$form->addCheckbox("registered","I already have an account.");
$form->addReCaptcha('recaptcha', 'Captcha', false)
	->setOption('id', 'recaptcha')
	->addConditionOn($this["registered"], Form::EQUAL, false)
		->setRequired()
		->toggle('recaptcha');

Narazil jsem na stejný problém u jiných prvků, když se přidá validační pravidlo na celý prvek a setRequired() se nastaví až podle podmínky. Například metoda addInteger() automaticky přidává pravidlo FORM::NUMERIC. Aby schovávání fungovalo, musel jsem použít metodu addText() a validační pravidlo přidat až po splnění podmínky.

Dalo by se toto opravit, aby bylo možné prvky s recaptchou schovat?

@f3l1x
Copy link
Member

f3l1x commented Nov 2, 2017

Hmm, je to dost zvlastni.

Vygeneruje se ten toggle spravne? A take, vygeneruje se spravne ID u toho elementu? V jake verzi captchi se tohle deje?

@TomasA
Copy link
Author

TomasA commented Dec 6, 2017

Verze 2.0.1.
Už jsme captchu zkombinoval s jiným rozšířením, takže už to nemůžu potvrdit, ale myslím, že jak ID tak toggle byly vygenerovány správně.

@f3l1x
Copy link
Member

f3l1x commented Dec 6, 2017

Diky za odpoved. :-)

Zkombinoval s jinym rozsirenim znamena prosim co?

@TomasA
Copy link
Author

TomasA commented Dec 6, 2017

Pouzivam ted Nepada/FormRenderer, takze si vsechny prvky generuju sam, nicmene Captcha se porad neschovava.
Prvek captchy se generuje dobre. Obalovy prvek ma id="recaptcha" a je unikatni.
data-nette-rules="[{"op":":filled","msg":"Captcha is required."},{"op":":equal","rules":[{"op":":filled","msg":"Captcha is required."}],"control":"registered","toggle":{"recaptcha":true},"arg":false}]"

@JanGalek
Copy link
Contributor

vyzkouším na sandboxu, a dám vědět ;), nebo to už není aktuální ? :)

@f3l1x
Copy link
Member

f3l1x commented Aug 16, 2018

Rekl bych, ze porad je. Klidne do https://github.com/contributte/playground muzes prihodit invisible recaptcha.

@JanGalek
Copy link
Contributor

JanGalek commented Aug 20, 2018

@TomasA Tak jo vyzkoušel jsem a jak to máš napsané tak to opravdu nefunguje, uprav to na:

$form->addCheckbox("registered","I already have an account.")
	->addCondition(Form::EQUAL, false)
	>toggle('recaptcha');

$form->addReCaptcha('recaptcha', 'Captcha', false)
	->setOption('id', 'recaptcha')
	->addConditionOn($form["registered"], Form::EQUAL, false)
	->setRequired();

Pokud to chápu dobře, tak jak to máš, tak se ten condition přidá na recaptchu, ale né k registered

@JanGalek
Copy link
Contributor

@f3l1x mám i tento usecase přidat do examplu ?

@f3l1x
Copy link
Member

f3l1x commented Aug 20, 2018

Klidne do do playgroundu prihod.

@TomasA
Copy link
Author

TomasA commented Aug 22, 2018

Schovávání teď funguje, pořád ale nefunguje podmíněný setRequired na recaptchu. Formulář pořád tvrdí, že recaptcha je required, i když mám zaškrtnutý registered.
Čekal bych nějakou botu u addConditionOn. U schovávání to jde obejít, u setRequired nevím jak.

@f3l1x
Copy link
Member

f3l1x commented Aug 22, 2018

Je to fakt divny.

@JanGalek
Copy link
Contributor

@TomasA ještě teda testnu ;)

@f3l1x
Copy link
Member

f3l1x commented Sep 29, 2018

@JanGalek Podarilo se nejak otestovat?
@TomasA Nejake nove info?

@JanGalek
Copy link
Contributor

JanGalek commented Oct 1, 2018

@f3l1x @TomasA na playgroundu funguje dle očekávání ;) - hiddenElementPresenter ;)

@TomasA
Copy link
Author

TomasA commented Oct 24, 2018

Pořád mi to nefunguje, netuším proč. Ale už to používám jinak a tuhle funkci už nepotřebuji.

@f3l1x
Copy link
Member

f3l1x commented Oct 24, 2018

Zaviram tedy ;-)

@f3l1x f3l1x closed this as completed Oct 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants