Piotr
Krajewski
web application
programmer
Temat: Dekoratory i zwracane błędy
Witam wszystkich mam takie pytanko,mam powiedzmy taki wycinek kodu:
$confirmPassword = $this->createElement('password','confirmPassword');
$confirmPassword->setLabel('Powtórz hasło: ')->setRequired(true)->setAttrib('id', 'fConfirmPassword')->addFilters(array(
new Zend_Filter_StringTrim(),
new Zend_Filter_StripNewlines(),
new Zend_Filter_StripTags()
))->addValidators(array(
new Zend_Validate_NotEmpty(),
new Zend_Validate_StringLength(4, 32),
new Zend_Validate_Identical(trim(Zend_Controller_Front::getInstance()->getRequest()->getPost('password')))
));
$acceptTerms = new Zend_Form_Element_Checkbox('acceptTerms');
$acceptTerms->setLabel('Akceptuję regulamin serwisu')->setRequired(true)->setAttrib('id', 'fAcceptTerms')->addValidator(new Zend_Validate_Identical('1'))->setDecorators(array(array('ViewHelper', array('helper' => 'formCheckbox')), array('Label', array('tag' => 'dt', 'placement' => 'APPEND')), 'Errors'))->addErrorMessage('Regulamin musi zostać zaakceptowany');
$this->addElements(array(
$password,
$acceptTerms
));
moje pytanie brzmi:
1. Jak zrobić by ewentualne errory nie lądowały pod danym polem, przy którym występuje błąd tylko gdzieś w flashmessenger'ze?
2. jak do pola label w metodzie setLabel dodać jakiś tekst htmlowy ? np.
setLabel('Akceptuję <a href="regulamin.html">regulamin</a> serwisu')
?
3. Jak udekorować elementy w struktury bardziej skomplikowane htmlowo np. by input z labelem jako jedna pozycja wyglądała mniej więcej tak:
<li class="fieldLine clearfix">
<label for="fPassword">hasło:</label>
<div class="formElem txtField fR">
<div class="tF-Inn">
<input type="password" id="fPassword" name="password">
</div>
</div>
<div class="clearer"></div> </li>
Z prostym dekorowaniem elementów sobie radzę jednak na tym poległem.
Ma ktoś pomysł jak tego dokonać ??
Byłbym wdzięczny za odpowiedź gdyż to mnie dręczy już od dłuższego czasu.