Probuje opanowac HTML_QuickForm + Smarty i mam dowielce szanownych kolegow pytanie a moj problem trudny do pokonania.
Prosty formularz i prosty szablon,
przesyla dane ale nie ma validacji - co jest zle (IMG:
http://forum.php.pl/style_emoticons/default/questionmark.gif)
<?php
require_once "lib/HTML/QuickForm.php";
require_once 'lib/HTML/QuickForm/Renderer/ArraySmarty.php';
require_once 'lib/Smarty.class.php';
$form = new HTML_QuickForm('frmTest', 'post');
$form->addElement('header', 'MyHeader', 'Test:');
$form->addElement('text' ,'nick', 'Nr GG:' ,array('size' => 12, 'maxlength'=> 12
)); $form->addElement('text' ,'email' ,'Email:',array('size' => 23, 'maxlength' => 40
)); $form->addElement('submit','btnSubmit', 'OK','class="button"');
$form->addRule('nick' , 'Podaj nick' , 'required', 'null', 'client');
$form->addRule('email', 'Podaj adres Email!', 'required', null, 'client');
if ($form->validate()) {
$form->freeze();
$form->process('dopisz_do_bazy', false); // dopisanie do bazy
$form->process('process_list' , false); // podziekowanie
} else {
$renderer =& new HTML_QuickForm_Renderer_ArraySmarty($smarty);
$form->accept($renderer);
$smarty = new Smarty();
$smarty->assign('new', $renderer->toArray());
$smarty->display('test.tpl');
//$form->setDefaults($user);
//$form->display();
}
?>
szablon test.tpl
{$new.javascript}
<td>{$new.email.label}
</td> <td>{$new.email.html}
<br /> {$new.requirednote}
<td>{$new.btnSubmit.html}
</td>
Dziala, przesyla dane metoda post i get a za chiny ludowe nie sprawdza czy pole email zawiera jakiekolwiek dane. Pomocy koledzy bo juz naprawde nie mam pojecia.
Z gory dzieki za pomoc
Ten post edytował zbynio4 20.07.2006, 22:46:04