Ejemplo n.º 1
0
 /**
  * Efetua a validacao
  * 
  * @author Hugo Ferreira da Silva
  * @link http://www.hufersil.com.br/
  * @param Lumine_Base $obj Objeto a ser validado
  * @return array Lista de erros encontrados
  */
 public static function validate(Lumine_Base $obj)
 {
     ############################################################################
     ## Aqui vamos checar todos os tipos padrao de validacao
     ## e armazenar os resultados em um array
     ## para que o objeto passe na validacao, todos os retornos devem ser TRUE
     ## para isto, utilizaremos a interface de reflexao
     ############################################################################
     // aqui armazenamos o resultado das validacoes
     $erros = array();
     $lista = $obj->listValidators();
     /* @var $item Lumine_Validator_AbstractValidator */
     foreach ($lista as $item) {
         if (array_key_exists($item->getField(), $erros)) {
             continue;
         }
         $result = $item->execute($obj);
         if (!$result) {
             $erros[$item->getField()] = $item->getErrorMessage();
         }
     }
     return $erros;
 }