$password = self::$validator->isString('password'); $result = $password->isRequired()->isBetween(5, 72, true)->isAlphanumeric()->validate($request->password); $this->isValid = $this->isValid && $result; $this->errors = array_merge($this->errors, $password->getErrors()); } /** * Validates is a username has alphanumeric values and is between 3 to 12 characters long. * * @param Request $request * * @return boolean|null */ private function validateUsername(Request $request) { $username = self::$validator->isString('username'); $result = $username->isRequired()->isAlpha()->isBetween(4, 12, true)->validate($request->username); $this->isValid = $this->isValid && $result; $this->errors = array_merge($this->errors, $username->getErrors()); } } $userValidator = new UserValidator(); $request1 = new Request('nilportugues', 'password', '*****@*****.**', '1'); $request2 = new Request('nil', 'password', 'not-an-email.com', ''); var_dump($userValidator->validate($request1)); //true print_r($userValidator->getErrors()); //no errors var_dump($userValidator->validate($request2)); //false print_r($userValidator->getErrors()); //array with errors
<?php $errors = array(); $user_obj = new User(); if (array_key_exists('add', $_POST)) { $data = array('first_name' => $_POST['user']['first_name'], 'user_password' => $_POST['user']['user_password']); UserMapper::map($user_obj, $data); $errors = UserValidator::validate($user_obj); if (empty($errors)) { $dao = new UserDao(); $dao->add($user_obj); Flash::addFlash('1 user is added to db successfully :)'); } }
<?php $errors = array(); $User = null; $edit = array_key_exists('id', $_GET); if ($edit) { $User = Utils::getUserByGetId(); } else { // set defaults $User = new User(); //$User->setDate(new DateTime()); } if (array_key_exists('cancel', $_POST)) { } elseif (array_key_exists('save', $_POST)) { $data = array('email' => $_POST['Users']['email'], 'password' => $_POST['Users']['password']); // map UserMapper::map($User, $data); // validate $errors = UserValidator::validate($User); // validate if (empty($errors)) { // save $dao = new UserDao(); $User = $dao->save($User); Flash::addFlash('Success Booking :)'); // redirect Utils::redirect('home'); } }
/** * @api {post} /user 注册接口 * @apiHeader {String} Accept=api-version=1.0 api版本 * @apiHeaderExample {String} Header-Example: * { * "Accept": "api-version=1.0" * } * @apiName register * @apiGroup User * @apiVersion 1.0.0 * * @apiSuccess {Array} empty_array 空数组 * * @apiUse errorExample */ public function register() { $this->db->begin(); $data = $this->request->getPost(); $userValidator = new UserValidator(); $messages = $userValidator->validate($data); if (0 != count($messages)) { return parent::resWithErrMsg($messages, 406); } $modelUser = new User(); $duplicate = $modelUser->findFirst("lower(username)='" . strtolower($data['username']) . "'"); if (!empty($duplicate)) { return parent::valueDuplicate('username'); } $data['password'] = password_hash($data['password'], PASSWORD_DEFAULT); $res = $modelUser->create($data); if (false == $res) { $this->db->rollback(); return parent::resWithErrMsg($modelUser->getMessages()); } $config = $this->di->get('config'); $userRole['role_id'] = $config->role->User; $userRole['user_id'] = $modelUser->id; $roleUserModel = new RoleUser(); $res = $roleUserModel->create($userRole); if (false == $res) { $this->db->rollback(); return parent::resWithErrMsg($roleUserModel->getMessages()); } $this->db->commit(); return parent::success(); }