Jestem na etapie rozkminki zend_formsow i walidacji formularzy.
Formularz prosty jak ponizej - waliduje mi standardowe pola wyswietla komunikaty bledow w mojej postaci ale generuje kod html jak ponizej :|
mam 3 pytania
1) ->
czemu renderuje mi tak dziwnie formularz co to jest:
<form method="post" action="" empty="pole nie może być puste" send="zarejestruj" password2="potwierdź hasło" password="hasło" bademailformat="zły format adresu" email="adres e-mail" login="login" enctype="application/x-www-form-urlencoded" id="signup">
2) ->
czy jest mozliwosc zeby w przypadku bledow walidacji dodawalo klase "error" lub podobna do samych elementow formularza - tu inputow - chcialbym moc je wyrozniac np czerwonym kolorem :|
3) ->
w jaki sposob moge walidowac czy pole password i password2 sa takie same ?
ponizej kod php i html
<form method="post" action="" empty="pole nie może być puste" send="zarejestruj" password2="potwierdź hasło" password="hasło" bademailformat="zły format adresu" email="adres e-mail" login="login" enctype="application/x-www-form-urlencoded" id="signup"><div> <div class="element-group"><label class="required" for="login">login
</label> <div class="notice_error"> <input type="text" value="" id="login" name="login"/> <div class="element-group"><label class="required" for="email">adres e-mail
</label> <div class="notice_error"> <input type="text" value="" id="email" name="email"/> <div class="element-group"><label class="required" for="password">hasło
</label> <div class="notice_error"> <input type="password" value="" id="password" name="password"/> <div class="element-group"><label class="required" for="password2">potwierdź hasło
</label> <div class="notice_error"> <input type="password" value="" id="password2" name="password2"/> <div class="submit-group"> <input type="submit" value="zarejestruj" id="submit" name="submit"/></div></div></form>
$this->setName('signup');
$login = new Zend_Form_Element_Text('login');
$login->setLabel($fieldsName['login'])
->setRequired(true)
->addValidator('NotEmpty',false,array('messages'=>"nie puste"));
$email = new Zend_Form_Element_Text('email');
$email->setLabel($fieldsName['email'])
->setRequired(true)
->addValidator('NotEmpty',true,array('messages'=>"nie puste")) ->addValidator('EmailAddress',false,array('messages'=>"zly adres")); $email->addDecorator(array('ErrorsDiv' => 'HtmlTag'), array('tag' => 'div', 'class' => 'notice_error'));
$pass = new Zend_Form_Element_Password('password');
$pass->setLabel($fieldsName['password'])
->setRequired(true)
->addValidator('NotEmpty',false,array('messages'=>"nie puste"));
$pass2 = new Zend_Form_Element_Password('password2');
$pass2->setLabel($fieldsName['password2'])
->setRequired(true)
->addValidator('NotEmpty',false,array('messages'=>"nie puste")); $submit = new Zend_Form_Element_Submit('submit');
$submit->setLabel($fieldsName['send']);
$this->addElements(array($login, $email, $pass, $pass2, $submit)); $this->clearDecorators();
$this->addDecorator('FormElements')
->addDecorator('HtmlTag', array('tag' => '<div>')) ->addDecorator('Form');
$this->setElementDecorators(array( array(array('ErrorsDiv' => 'HtmlTag'), array('tag' => 'div', 'class' => 'notice_error')), array('HtmlTag', array('tag' => 'div', 'class'=>'element-group')), ));
$submit->setDecorators(array( array('HtmlTag', array('tag' => 'div', 'class'=>'submit-group')), ));