2010-07-25 5 views
2

disons que je veux attacher des erreurs à mon Zend_Form j'ai découvert les décorateurs par défaut pour les formulaires ne comprennent pas les erreurs. donc j'ai essayé d'ajouter mon propre ...Rendu erreurs Zend_Form

dans ma classe Zend_Form

$this->setDecorators(array(
    'FormElements', 
    array('Errors', array('placement' => 'PREPEND')), 
    'Form' 
)); 

mais s'il n'y a pas d'erreurs de forme, je reçois

Avertissement: htmlspecialchars() attend paramètre 1 à être une chaîne, un tableau donné dans D: \ ResourceLibrary \ cadres \ ZendFramework \ library \ Zend \ View \ Abstract.php sur la ligne 897

Est-ce que je fais la bonne chose? supprimer la ligne array('Errors', array('placement' => 'PREPEND')) le fixe, mais pourquoi? s'il y a des erreurs, il rend correctement sans cette erreur

MISE À JOUR

l'erreur semble provenir de ~ ligne 53 de Zend_Form_Decorator_Errors

$errors = $element->getMessages(); 

des formes Je pense que ce soit SHLD

$errors = $element->getErrorMessages(); 

Répondre

0

essayer:

$this->setDecorators(array(
    'FormElements', 
    array('FormErrors', array('placement' => 'PREPEND')), 
    'Form' 
)); 
+0

qui a fonctionné. même sans 'addPrefixPath()' whats 'addPrefixPath()' pour réellement? et pour le 2ème param '$ path', est le chemin relatif à ma classe de forme? ou quoi? –

+0

Ceci est un décorateur natif de sorte que vous pouvez l'utiliser tel quel - sans aucun appel addPrefixPath – Ololo