Jak správně použít addConditionOn při ověření hesla

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomáš Jacík
Člen | 147
+
+1
-

Původně jsem chtěl napsat dotaz, ale pak sem to rozchodil. Chvíli mi to zabralo, tak to snad někomu pomůže.

$form->addPassword('passwd', 'Nové heslo');
$form->addPassword('confirmation', 'Kontrola hesla')
	->setOmitted(TRUE)
	->addConditionOn($form['passwd'], Form::FILLED)
		->addRule(Form::FILLED, 'Zadejte prosím heslo znovu pro ověření.')
		->addRule(Form::EQUAL, 'Zřejmě došlo k překlepu, zkuste prosím hesla zadat znovu.', $form['passwd']);
$form->addPassword('old_passwd', 'Současné heslo')
	->setOmitted(TRUE)
	->addConditionOn($form['passwd'], Form::FILLED)
		->addRule(Form::FILLED, 'Zadejte prosím současné heslo.')
		->addRule(function ($item, $arg) {
			return nejakyhash($item->value) === $arg;
		}, 'Zřejmě došlo k překlepu, zkuste prosím současné heslo zadat znovu.', $this->customer->passwd);

Editoval Tomáš Jacík (11. 9. 2014 18:13)