Validaciones del Negocio
De CidesaWiki
Para agregar validaciones del Negocio crear una funcion ValidateEdit(Modulo Generados con propel-init-admin) en el Actions.class.php está se ejecutara al mismo tiempo que las otras(al Guardar) y Modificar la función handleErrorEdit.Ejemplo de la forma Almregart.
private static $coderror=-1; public function validateEdit() { if($this->getRequest()->getMethod() == sfRequest::POST) { $this->caregart = $this->getCaregartOrCreate(); $this->updateCaregartFromRequest(); self::$coderror=Articulos::validarAlmregart($this->caregart); if (self::$coderror<>-1) { return false; }else return true; }else return true; } public function handleErrorEdit() { $this->preExecute(); $this->caregart = $this->getCaregartOrCreate(); $this->updateCaregartFromRequest(); $this->labels = $this->getLabels(); if(!$this->validateEdit()) { $err = Herramientas::obtenerMensajeError(self::$coderror); $this->getRequest()->setError('caregart{codart}',$err); } return sfView::SUCCESS; }
Las validaciones del Actions.class.php ultilizan un manejador de errores que se encuentra creado en la carpeta config , el cual se llama errores.yml, el cual contiene los códigos de los errores.
1: cod: 1 msj: Nivel Anterior No Existe 2: cod: 2 msj: El Codigo no puede estar en Blanco ó No puede Contener menos de 4 Carácteres
Estos errores se ejecutan cuando la función a la cual se le asigna $coderror devuelve códigos de errores self::$coderror=Articulos::validarAlmregart($this->caregart);, esta linea de código se encuentra en la funcion validateEdit(). Si la función validateEdit() retorna false se ejecuta la función handleErrorEdit() enviando el error a la vista.