Zend Framework űrlap és a dekorátorok


Sok PHP fejlesztőnek nem tetszik az űrlap készítés Zend_Form segítségével.
Nekem is többször meggyűlt vele a bajom.

Később rájöttem, hogy nagyszerű dolog, a szerveroldali validációt helyben meg lehet oldani.

Gondot okoz, hogy a megjelenített HTML kód tele van szórva <dd>, <dt> tagokkal.

Ebben az írásban bemutatva a megjelenítési mód: http://devzone.zend.com/1240/decorators-with-zend_form/

Saját példa, egy Általános Szerződési Feltételek elfogadását vizsgáló checkbox:

        $accept_terms = $this->createElement('checkbox', 'accept_terms');
        $accept_terms->setDecorators(array('Errors','ViewHelper'));
        $accept_terms->setRequired('true');
        $accept_terms->setUncheckedValue(null);
        $accept_terms->addErrorMessage('Csak akkor küldhető el az űrlap, ha elfogadja az Általános Szolgáltatási Feltételeket!');
        $this->addElement($accept_terms);

A dekorátorokat átrendeztem, előbb van a hiba üzenet megjelenítés, azután a form elem, a <dt>,<dd> elemek nem jelennek meg.