Vypsání dat z formuláře bez možnosti úpravy

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
lopikol
Začátečník | 75
+
0
-

Dá se nějak zablokovat možnost úravy? Jde o to, že chci aby to do toho formuláře zapadlo > všechny kolonky stejný, ale potřebuji tento řádek zablokovat > nemožnost editovat.

<?php
    $this->addText('nick', 'Nick')
            ->setDefaultValue($this->getPresenter()->user->getIdentity()->nick)
            ->addRule(AppForm::FILLED, 'Nevyplnil jsi všechny povinné údaje!');
?>
Chbox
Člen | 125
+
0
-

a to budeš mít na zablokovaným inputu pravidlo? :-) Káždopadně použij vyhledávání na fóru, už to tu bylo taky x krát. ->setDisabled() nebo readonly nebo přes JS

Editoval Chbox (17. 2. 2011 17:47)

srigi
Nette Blogger | 558
+
0
-

Daj tomu elementu atribut disabled="disabled". Vyskusaj si to vo firebugu. Ako pridat atribut HTML prvku hadam vies, ak nie, pohladaj si to.

lopikol
Začátečník | 75
+
0
-

srigi: Jj už vim. dělám pokroky :) :D

Děkuji.

Jak toto upravit, aby když je `password prázdné, tak to vynechá kontrolu. Uložení je jasné, ale k němu jsem se nedostal díky addRule.
Pokud uživatel nevyplní nová hesla, tak se v db nechá to staré. > změna hesla.

<?php
    $this->addPassword('password_old', 'Současné heslo')
            ->addRule(AppForm::FILLED, 'Nevyplnil jsi všechny povinné údaje!');

    $this->addPassword('password', 'Nové heslo')
            ->addRule(AppForm::MIN_LENGTH, 'Zadané heslo je příliš krátké, zvolte si heslo alespoň o %d znacích', 5);

    $this->addPassword('password2', 'Nové heslo (kontrola)')
            ->addRule(AppForm::EQUAL, 'Zadané hesla se neshodují', $this['password']);
?>
Chbox
Člen | 125
+
0
-

doporučuji ti si projít examples/forms v distribuci, tam je to všechno pořešené.

lopikol
Začátečník | 75
+
0
-

Bohužel. To co hledám tam není. Už jsem koukal.

Chbox
Člen | 125
+
0
-

tak se podívej znova. Mělo by to mít něco spolěčného s metodou addCondition(), případně addConditionOn()

Editoval Chbox (17. 2. 2011 20:37)

lopikol
Začátečník | 75
+
0
-

Jo už to mám jednoduché ->addCondition(Form::FILLED). Ted ještě dorřešit ten sql dotaz.

Jak upravit tento dotaz. Nevím jak to v dibi zapsat. Něco jsem si našel v exampu, ale stejně to nefungovalo.
dibi::query('UPDATE [users] SET WHERE [nick] = %s', $data);

Chbox
Člen | 125
+
0
-

ty tomu dáváš:

dibi::query('
	UPDATE [users]
	SET', $array,'
	WHERE [nick] = %s', $array['nick']
);

Editoval Chbox (17. 2. 2011 22:22)