Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 23-01-2009 23:29:01

Dator
Membre
Lieu: Lyon
Date d'inscription: 14-05-2008
Messages: 10
Site web

[Zend_Form] Coloration d'un champ si celui ci à une erreur

Bonjour,

Je me trouve fasse à un problème ce soir, en voulant pousser l'utilisation de Zend_Form, je voulais ,si un erreur apparait dans un element (d'un formulaire), l'entourer (wrapper) d'un element HTML avec une classe CSS et la je bloque ...

En gros voila ce que je voudrais :

http://www.dator.fr/perso/zend-form-error-field.jpg

Si quelqu'un a une idée ?

Merci beaucoup !

A bientôt !

Clément

Hors ligne

 

#2 26-01-2009 10:39:24

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Zend_Form] Coloration d'un champ si celui ci à une erreur

tu recodes ton Decorateur Error
Et comme je suis sympa, voici un exemple :

Code:

class My_Form_Decorator_Errors extends Zend_Form_Decorator_Errors
{
  public function render($content)
  {
    $element = $this->getElement();
    $view = $element->getView();
    if (null === $view) {
      return $content;
    }
    $errors = $element->getMessages();
    if (empty($errors)) {
      return $content;
    }
    $htmltag = $element->getDecorator('Htmltag');
    if ($htmltag !== false)
        $element->getDecorator('Htmltag')->setOption('class', 'ctrlHolder error');
    $formErrors_Helper = $view->getHelper('formErrors');
    $formErrors_Helper->setElementStart('<p class="errorField"><strong>');
    $formErrors_Helper->setElementSeparator('</strong></p><p class="errorField"><strong>');
    $formErrors_Helper->setElementEnd('</strong></p>');
    return (parent::render($content));
  }
}

On décorateur fait 2 chose :
Si htmlTage est utilisé, il lui rajoute la classe 'error' (car j'ai des div qui entoure mes balises label et input)
Il change ses propres elements html (tu les vois à la fin de mon de code)

A+


----
Gruiiik !

Hors ligne

 

#3 26-01-2009 11:57:51

Dator
Membre
Lieu: Lyon
Date d'inscription: 14-05-2008
Messages: 10
Site web

Re: [Zend_Form] Coloration d'un champ si celui ci à une erreur

Merci bien smile

Mais sais tu comment englober uniquement le input type et pas le label (quand on fait le setLabel dans le formulaire).
Comme sous Rails enfaite wink

Pour eviter de faire une selection CSS mais plutôt d'englober le tout smile

Merci beaucoup

Clément

Hors ligne

 

#4 26-01-2009 13:12:00

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Zend_Form] Coloration d'un champ si celui ci à une erreur

beh la, je pense qu'il n'y rien de plus simple, tu intercales un décorateur (htmltag) entre ton décorateur 'viewHelper' et 'Label'


----
Gruiiik !

Hors ligne

 

#5 23-02-2009 16:01:03

alexsplif
Nouveau membre
Date d'inscription: 23-02-2009
Messages: 2

Re: [Zend_Form] Coloration d'un champ si celui ci à une erreur

bonjour

excusez moi je debute en zend,
je voulais faire la même chose...

comment faire pour appeler cette classe pour qu'elle s'applique a mon formulaire

merci beaucoup

Dernière modification par alexsplif (23-02-2009 16:01:44)

Hors ligne

 

#6 23-02-2009 20:22:10

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Zend_Form] Coloration d'un champ si celui ci à une erreur

C'est automatique à partir du moment que tu renseignes les chemins de tes décorateurs perso.


----
Gruiiik !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages