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.