Závislost setREQUIRED v Registračnom Formulári

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tabetha
Člen | 140
+
0
-

Ahoj,

som práve začínajúci v Nette a mal by som na vás jednu otázku :-)
V mojom registračnom formuláre potrebujem(ak to ide) nastavovať, ktoré polia sú povinné a nepovinné podľa samostatného nastavovacieho skriptu. Napr. pri hodnote „FALSE“/„NULL“ by bolo REQUIRED neaktívne v opačnom prípade aktívne.

Moja otázka znie či to ide a ak hej tak by som bol vďačný za radu.

Vopred dakujem

nanuqcz
Člen | 822
+
0
-

Ahoj, nevím co přesně myslíš tím FALSE/NULL, ale snad ti pomůže menší ukázka:

// Vytvořím formulář
$form = new Form();
$form->addText('name', 'Jméno');
$form->addText('surname', 'Příjmení');
$form->addTextarea('message', 'Zpráva');
$form->addSubmit('send', 'Odeslat');

// A v externí funkci mu nastavím pravidla setRequired
setupRules($form);
// Ona funkce může vypadat třeba takhle - k jednotlivým prvkům formuláře se dostaneš přes $form[nazev]
function setupRules(Form &$form){
    $form['name']->setRequired('Nevyplnil jsi jméno');
    $form['surname']->setRequired('Nevyplnil jsi příjmení');
}

Editoval nanuqcz (15. 4. 2012 1:22)

Tabetha
Člen | 140
+
0
-

ahoj,
myslel som to cca takto(ak je to možné)

//formulár
§form = new NAppForm();
$form->addText('username','Uživateľské meno')
     ->setRequired($this->username_rq);

a na inom mieste

public $username_rq = FALSE

či je to takto možné
ale dakujem za radu. určite ju ešte využijem :)

Jan Endel
Člen | 1016
+
0
-

Mělo by dle mého fungovat něco jako:

$form = new NAppForm();
$form->addText('username','Uživateľské meno')
     ->addCondition($isUsernameRequired)
     	->setRequired("Uživatelské jméno je povinné");

doporučuju si pročíst dokumentaci

Tabetha
Člen | 140
+
0
-

dakujem vám obom. Osobne sa mi viac oplatí v tomto prípade od nanuqcz, ale aj tak vám veľmi pekne dakujem