Validace na straně serveru
- Tomáš Kabíček
- Člen | 14
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)
- Tomáš Kabíček
- Člen | 14
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)
- Tomáš Kabíček
- Člen | 14
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
A případně prosim, jak by takové zpracování mělo vypadat, aby ta server-side validace fungovala?
- visitor
- Člen | 22
Tomáš Kabíček napsal(a):
A případně prosim, jak by takové zpracování mělo vypadat, aby ta server-side validace fungovala?
- Tomáš Kabíček
- Člen | 14
Díky!! Sem pako, ale nějak mě to takhle nenapadalo:-)
Editoval Tomáš Kabíček (28. 8. 2010 11:54)