コード例 #1
0
 /**
  * validate
  *
  * @param Data $data
  *
  * @return  boolean
  */
 protected function validate($data)
 {
     $form = new Form('blog');
     $form->defineFormFields(new BlogDefinition());
     $form->bind($data);
     if (!$form->validate()) {
         $errors = $form->getErrors();
         foreach ($errors as $error) {
             $this->addFlash($error->getMessage(), 'danger');
         }
         $this->setRedirect(Router::buildHttp('admin:blog', ['id' => $data->id ?: '']));
         return false;
     }
     // Check exists
     $conditions['alias'] = $data['alias'];
     if ($data->id) {
         $conditions[] = 'id != ' . $data->id;
     }
     $blog = (new DataMapper('blogs'))->findOne($conditions);
     if ($blog->notNull()) {
         $this->setRedirect(Router::buildHttp('admin:blog', ['id' => $data->id ?: '']), 'Blog Name has already been used', 'danger');
         return false;
     }
     return true;
 }