Validace na straně serveru

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

Potřeboval bych poradit, jak je možné, že mi neprobíhá validace formuláře na straně serveru…Nemám aplikaci celou v Nette, používám jen Nette/Form a pokud vypnu javascript, tak mi to povinná políčka vezme i když jsou prázdná…Nikde jsem tu o tomto problému nic nenašel, takže děkuju za radu.

Editoval Tomáš Kabíček (28. 8. 2010 10:51)

h4kuna
Backer | 740
+
0
-

dej sem kód implementace bez něj ani ránu.

Editoval matata (28. 8. 2010 11:05)

Tomáš Kabíček
Člen | 14
+
0
-

V aplikaci mám Nette naincludováno takhle:

require 'Nette/loader.php';
Debug::enable();

Formulář nainicializovaný takhle:

$form = new Form;
  $form->setAction('kontakt');
  $form->setMethod('post');
  $form->addText('jmeno', 'Jméno a příjmení')
       ->addRule(Form::FILLED, 'Vyplňte všechny povinné údaje');
  $form->addText('email','E-mail')
       ->addRule(Form::FILLED, 'Vyplňte všechny povinné údaje');
  $form->addText('tel','Telefon');
  $form->addTextArea('zprava', 'Zpráva pro nás', 2, 2)
       ->addRule(Form::FILLED, 'Vyplňte všechny povinné údaje');
  $form->addText('captcha','')
       ->addRule(Form::FILLED, 'Neopsali jste text z obrázku');
  $form->addSubmit('odeslat', 'Odeslat');

A zobrazený takhle:

<?php
$form->render('begin')
$form->render('errors') ?>

<div class="contact_form">
  <div class="required">
        <p class="contact_f_text"><?php echo $form['jmeno']->label ?> <span>*</span>
           <?php echo $form['jmeno']->control ?></p>
        <p class="contact_f_text"><?php echo $form['email']->label ?> <span>*</span>
           <?php echo $form['email']->control ?></p>
        <p class="contact_f_text"><?php echo $form['tel']->label ?>
           <?php echo $form['tel']->control ?></p>
  </div>
  <div class="required">
        <p class="textarea"><?php echo $form['zprava']->label ?> <span>*</span>
                            <?php echo $form['zprava']->control ?></p>
  </div>
  <div class="required">
        <p class="captcha"><?php echo $form['captcha']->label ?>
          Opište text z obrázku <span>*</span>
                           <?php echo $form['captcha']->control ?></p>
  </div>
  <div class="required">
  <p class="povinne"><span>*</span> Povinné položky</p>
        <p class="submit"><?php echo $form['odeslat']->label ?>
           <?php echo $form['odeslat']->control ?></p>
  </div>
</div>
<?php $form->render('end') ?>

Editoval Tomáš Kabíček (28. 8. 2010 11:10)

Aurielle
Člen | 1281
+
0
-

… a zpracování?

Tomáš Kabíček
Člen | 14
+
0
-

Zpracování zatím nemám…Ale na tom by nemělo záležet, nebo se pletu? Zatim mě to jenom přesměruje (a odešle hodnoty metodou post) na tu samou stránku, kde mám ten formulář.

Tomáš Kabíček
Člen | 14
+
0
-

A případně prosim, jak by takové zpracování mělo vypadat, aby ta server-side validace fungovala?

visitor
Člen | 22
+
0
-

Tomáš Kabíček napsal(a):

A případně prosim, jak by takové zpracování mělo vypadat, aby ta server-side validace fungovala?

http://zdrojak.root.cz/…e-formulare/

Tomáš Kabíček
Člen | 14
+
0
-

Díky!! Sem pako, ale nějak mě to takhle nenapadalo:-)

Editoval Tomáš Kabíček (28. 8. 2010 11:54)