viac formularov na jednej stranke

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

cavte, mam taky primitivny problem…

na jednej stranke mam viac formularov pomocou nette forms s vaidacnymi pravidlami. problem vsak je, ze aby sa odoslal form1, musi byt validny aj form2 a 3. a to praveze nechcem…

neviete mi prosim poradit upravu?

kod je takyto:

<?php
$zobrazujeme .= '<fieldset style="margin:auto;width=50%;"><legend>Bankovým prevodom</legend>';

$form = new Form;
$form->addText('prevod_cena', 'Zadajte čiastku v EUR:')
       ->addRule(Form::FILLED, 'Zadajte čiastku - celú sumu, bez centov')
        ->addCondition(Form::FILLED)
         ->addRule(Form::INTEGER, 'Suma musí byť ceé číslo - bez centov, desatinných miest')
          ->addCondition(Form::INTEGER)
           ->addRule(Form::RANGE, 'Minimálna suma kreditu je 5€ a maximálna 100€', array(5, 100));
$form->addSubmit('prevodom', 'Platba');
$zobrazujeme .= $form;
$zobrazujeme .= '</fieldset>';
// paypay
$zobrazujeme .= '<fieldset style="margin:auto;width=50%;"><legend>Platobnou kartou - PayPay</legend>';
$form2 = new Form;
$form2->addText('paypay_cena', 'Zadajte čiastku v EUR:')
       ->addRule(Form::FILLED, 'Zadajte čiastku - celú sumu, bez centov')
        ->addCondition(Form::FILLED)
         ->addRule(Form::INTEGER, 'Suma musí byť ceé číslo - bez centov, desatinných miest')
          ->addCondition(Form::INTEGER)
           ->addRule(Form::RANGE, 'Minimálna suma kreditu je 5€ a maximálna 100€', array(5, 100));
$form2->addSubmit('paypay', 'Platba');
$zobrazujeme .= $form2;
$zobrazujeme .= '</fieldset>';
// paypal
$zobrazujeme .= '<fieldset style="margin:auto;width=50%;"><legend>PayPal</legend>';
$form3 = new Form;
$form3->addText('paypal_cena', 'Zadajte čiastku v EUR:')
       ->addRule(Form::FILLED, 'Zadajte čiastku - celú sumu, bez centov')
        ->addCondition(Form::FILLED)
         ->addRule(Form::INTEGER, 'Suma musí byť ceé číslo - bez centov, desatinných miest')
          ->addCondition(Form::INTEGER)
           ->addRule(Form::RANGE, 'Minimálna suma kreditu je 5€ a maximálna 100€', array(5, 100));
$form3->addSubmit('paypal', 'Platba');
$zobrazujeme .= $form3;
$zobrazujeme .= '</fieldset>';
?>
redhead
Člen | 1313
+
0
-

musíš si je jinak pojmenovat:

//napriklad
$form = new Form('prevodemForm');
$form2 = new Form('kartouForm');
$form3 = new Form('paypalForm');
Aurielle
Člen | 1281
+
0
-

No ty validační pravidla by se minimálně daly zredukovat, když už je potřeba pole vyplnit a musí v něm být číslo, tak není potřeba kontrolovat jestli je pole vyplněné a až potom přidávat další pravidlo…

branov
Člen | 18
+
0
-

bomba, uz to fici tak ako ma :-)
ano, mas pravdu, tie pravidla este upravim, moc som sa im nevenoval, lebo som riesil tento problem :-)

takze, dakujem za pomoc!