$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 :)');
    }
}
Пример #3
0
<?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();
 }