private function processForm(sfWebRequest $request, sfForm $form) { $post = Xtras::helper($request->getParameter($form->getName())); $form->bind($post, $request->getFiles($form->getName())); if ($form->isValid()) { $obj = $form->save(); if ($obj) { $notice = 'Dados gravados com sucesso.'; $this->getUser()->setFlash('notice', "{$notice}", true); $this->getUser()->setAttribute(sfConfig::get('last_edited'), $obj->id); $saveEdit = $request->getCookie('salvaEdita', false); if ($saveEdit) { sfContext::getInstance()->getResponse()->setCookie('salvaEdita', null); $this->redirect(sfConfig::get('action_edit'), array_merge(sfConfig::get('params_route'), array('id' => $obj->id))); } else { $this->redirect(sfConfig::get('redirect_index'), sfConfig::get('params_route')); } } else { $notice = 'Falha ao gravar.'; die($notice); $this->getUser()->setFlash('notice', "{$notice}", true); } } else { // Formulário inválido $errors = array(); foreach ($form as $k => $v) { if ($form[$k]->getError()) { $errors[$k] = "{$form[$k]->renderLabelName()} - {$form[$k]->getError()}"; } } // var_dump($form->getGlobalErrors());die; // var_dump($form->renderGlobalErrors());die; $notice = !empty($errors) ? join("<br>", $errors) : 'Formulário inválido | getGlobalErrors | renderGlobalErrors'; $this->getUser()->setFlash('notice', "{$notice}", true); } }