public function post($id = null) { if (empty($_POST)) { $this->_logger->debug("loading form at {$_SERVER['REQUEST_URI']}"); if ($id !== null) { $post = $this->_factory->get('Post', $id); $this->view->aTitle = $post->title; $this->view->aBody = $post->body; } $this->view->display('blog/edit.tpl'); } else { $this->_logger->debug("form at {$_SERVER['REQUEST_URI']} submitted"); $validators = array('aTitle' => array('NotEmpty', 'messages' => 'Title is required'), 'aBody' => array('NotEmpty', 'messages' => 'Body is required')); $form = new Form($validators, $_POST); if (!$form->isValid()) { $this->_logger->debug("form at {$_SERVER['REQUEST_URI']} submitted but invalid"); $this->view->assign($_POST); $this->view->assign($form->getMessages()); $this->view->display('blog/edit.tpl'); } else { $this->_logger->debug("form at {$_SERVER['REQUEST_URI']} successful "); $post = $this->_factory->get('Post', $id); $post->title = $form->getRaw('aTitle'); $post->body = $form->getRaw('aBody'); $post->create_dt_tm = date('Y-m-d H:i:s'); $post->save(); header('Location: /blog'); exit; } } }
public function testBadInput() { $input = array('Username' => 'gerard1234'); $form = new Form($this->_validators, $input); $this->assertFalse($form->isValid()); $expected = array('UsernameErr' => 'Username is invalid', 'PasswordErr' => 'Password is required'); $messages = $form->getMessages(); $this->assertEquals($messages, $expected); }