Validaciones del Negocio
De CidesaWiki
Línea 4: | Línea 4: | ||
public function validateEdit() | public function validateEdit() | ||
- | + | { | |
- | + | $resp=-1; | |
- | + | ||
- | + | // Se deben llamar a las funciones necesarias para cargar los | |
- | + | // datos de la vista que serán usados en las funciones de validación. | |
- | + | // Por ejemplo: | |
- | + | ||
- | + | if($this->getRequest()->getMethod() == sfRequest::POST){ | |
- | + | ||
- | + | // $this->caajuoc = $this->getCaajuocOrCreate(); | |
- | + | // $this->configGrid(); | |
- | + | // $grid = Herramientas::CargarDatosGrid($this,$this->obj); | |
- | + | ||
- | + | ||
+ | |||
+ | |||
+ | // Aqui van los llamados a los métodos de las clases del | ||
+ | // negocio para validar los datos. | ||
+ | // Los resultados de cada llamado deben ser analizados por ejemplo: | ||
+ | |||
+ | // $resp = Compras::validarAlmajuoc($this->caajuoc,$grid); | ||
+ | |||
+ | // al final $resp es analizada en base al código que retorna | ||
+ | // Todas las funciones de validación y procesos del negocio | ||
+ | // deben retornar códigos >= -1. Estos código serám buscados en | ||
+ | // el archivo errors.yml en la función handleErrorEdit() | ||
+ | |||
+ | if($resp!=-1){ | ||
+ | $this->coderror = $resp; | ||
+ | return false; | ||
+ | } else return true; | ||
+ | |||
+ | }else return true; | ||
+ | |||
+ | |||
+ | |||
+ | } | ||
+ | |||
public function handleErrorEdit() | public function handleErrorEdit() | ||
+ | { | ||
+ | $this->labels = $this->getLabels(); | ||
+ | |||
+ | $this->Bnreginm= $this->getBnreginmOrCreate(); | ||
+ | $this->updateBnreginmFromRequest(); | ||
+ | |||
+ | |||
+ | if($this->getRequest()->getMethod() == sfRequest::POST) | ||
{ | { | ||
- | + | if($this->coderror!=-1){ | |
- | + | $err = Herramientas::obtenerMensajeError($this->coderror); | |
- | + | $this->getRequest()->setError('',$err); | |
- | + | } | |
- | + | } | |
- | + | return sfView::SUCCESS; | |
- | + | ||
- | + | } | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
</pre> | </pre> |
Revisión de 15:43 16 ago 2007
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() { $resp=-1; // Se deben llamar a las funciones necesarias para cargar los // datos de la vista que serán usados en las funciones de validación. // Por ejemplo: if($this->getRequest()->getMethod() == sfRequest::POST){ // $this->caajuoc = $this->getCaajuocOrCreate(); // $this->configGrid(); // $grid = Herramientas::CargarDatosGrid($this,$this->obj); // Aqui van los llamados a los métodos de las clases del // negocio para validar los datos. // Los resultados de cada llamado deben ser analizados por ejemplo: // $resp = Compras::validarAlmajuoc($this->caajuoc,$grid); // al final $resp es analizada en base al código que retorna // Todas las funciones de validación y procesos del negocio // deben retornar códigos >= -1. Estos código serám buscados en // el archivo errors.yml en la función handleErrorEdit() if($resp!=-1){ $this->coderror = $resp; return false; } else return true; }else return true; } public function handleErrorEdit() { $this->labels = $this->getLabels(); $this->Bnreginm= $this->getBnreginmOrCreate(); $this->updateBnreginmFromRequest(); if($this->getRequest()->getMethod() == sfRequest::POST) { if($this->coderror!=-1){ $err = Herramientas::obtenerMensajeError($this->coderror); $this->getRequest()->setError('',$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.
--Desi 16:34 26 abr 2007 (VET)