Example #1
0
 public function addAction()
 {
     $ans = [];
     try {
         if (!$this->request->isPost()) {
             throw new Exception('请用正确的方式访问我们的API', 99);
         }
         $validation = new Phalcon\Validation();
         $validation->add('name', new PresenceOf(['message' => 'name is needed']));
         $validation->add('name', new StringLength(['max' => 50, 'messageMaximum' => 'The name is too long.']));
         $validation->add('name', new MyRegex());
         $validation->add('unit', new StringLength(['max' => 10, 'messageMaximum' => 'The unit is too long.']));
         $validation->add('unit', new MyRegex());
         $validation->add('user_group', new PresenceOf(['message' => 'user_group is needed']));
         $validation->add('type', new InclusionIn(['message' => 'The status must be 0 or 1', 'domain' => array(0, 1)]));
         $validation->add('user_group', new Regex(['pattern' => '/[0-9]{1,10}/u', 'message' => 'user_group need a number']));
         $messages = $validation->validate($_POST);
         foreach ($messages as $message) {
             throw new Exception($message, 102);
         }
         //获取Post中的内容,然后将name存入到数据库中
         $name = $this->request->getPost('name');
         $unit = $this->request->getPost('unit');
         $type = $this->request->getPost('type');
         $user_group = $this->request->getPost('user_group');
         $item = new Item();
         $item->name = $name;
         $item->unit = $unit;
         $item->type = $type;
         $item->user_group = $user_group;
         $success = $item->save();
         if ($success) {
             $ans['id'] = $item->id;
         } else {
             foreach ($item->getMessages() as $message) {
                 throw new Exception($message, 100);
             }
         }
     } catch (Exception $e) {
         $ans['id'] = -1;
         Utils::makeError($e, $ans);
     } finally {
         echo json_encode($ans);
     }
 }