Пример #1
0
 public function render($sContent)
 {
     //permet de savoir s'il y a une erreur sur le formulaire en globalité
     $bFormHasErreur = $this->getElement()->getView()->errors;
     //permet de savoir si le champ traité à une erreur ou pas
     $bChampHasErreur = $this->getElement()->hasErrors();
     /*
      * Si le formulaire comporte une erreur, il faut alors décorer tous les champs avec :
      * - soit une coche ok si le champ traité n'a pas d'erreur
      * - soit une coche croix si le champ a bien une erreur
      */
     if ($bFormHasErreur) {
         $oChampVoid = new Symbol_Void();
         //Span englobante pour la position de la croix
         $oSpanErrorOk = new Symbol_Span('', CSS_POS_RELATIVE);
         //on ajoute le contenu du champ
         $oSpanErrorOk->linkSymbol(new Symbol_Void($sContent));
         /*
          * Deux comportements sont possibles :
          * 	-> il y un erreur su ce champ, auquel cas on décore avec un croix rouge et un input rouge
          * 	-> il n'y à pas d'erreur sur ce champ mais sur un autre champ, on décore alors avec une check bleue
          */
         if ($bChampHasErreur) {
             //Classe pour la croix
             $sClass = CSS_INPUT_CHECK_ERROR;
             //on ajoute les erreurs (le texte des erreurs)
         } else {
             //Classe pour le coche
             $sClass = CSS_INPUT_CHECK_OK;
         }
         //ajout de la croix ou de la coche, c'est selon
         $oSpanErrorOk->linkSymbol(new Symbol_Span('', trim($sClass)));
         $oChampVoid->linkSymbol($oSpanErrorOk);
         //on retourne le champ
         return $oChampVoid->render();
     } else {
         //si pas d'erreur, on touche à rien
         return $sContent;
     }
 }
Пример #2
0
 /**
  * @brief	Ajout la decoration du champ s'il à une erreur ou si un de ses camarades en à une
  *
  * @see Projet_Form_Decorator_Generic
  *
  * @author		francoisespinet
  * @version		9 mars 2012 - 11:14:41
  * @param unknown_type $sChamp
  * @param Html_Symbol $oChamp
  * @param Zend_Form_Element $oItem
  * @param bool $bChampHasError
  */
 protected function formAddErreurChamp($sChamp, $bChampHasError)
 {
     $oChampVoid = new Symbol_Void();
     //Span englobante pour la position de la croix
     $oSpanErrorOk = new Symbol_Span('', CSS_POS_RELATIVE);
     //on ajoute le contenu du champ
     $oSpanErrorOk->linkSymbol(new Symbol_Void($sChamp));
     $sClass = '';
     /*
      * Deux comportements sont possibles :
      * 	-> il y un erreur su ce champ, auquel cas on décore avec un croix rouge et un input rouge
      * 	-> il n'y à pas d'erreur sur ce champ mais sur un autre champ, on décore alors avec une check bleue
      */
     if ($bChampHasError) {
         //Classe pour la croix
         $sClass = CSS_INPUT_CHECK_ERROR;
         //on ajoute les erreurs (le texte des erreurs)
     } else {
         //Classe pour le coche
         $sClass = CSS_INPUT_CHECK_OK;
     }
     //ajout de la croix ou de la coche, c'est selon
     $oSpanErrorOk->linkSymbol(new Symbol_Span('', trim($sClass)));
     $oChampVoid->linkSymbol($oSpanErrorOk);
     return $oChampVoid->render();
 }