/** * Hàm chạy đệ quy , thêm các số phía sau username cho đến khi dc 1 cái username chưa có trong hệ thống * @param unknown $username * @param unknown $prefix */ private function getValidUsername($username, $prefix = 0) { $userMapper = $this->getServiceLocator()->get('\\User\\Model\\UserMapper'); $user = new \User\Model\User(); $result = $username; if ($prefix) { $result .= $prefix; } $user->setUsername(trim($result)); if ($userMapper->isExistedUserName($user)) { return $this->getValidUsername($username, $prefix + 1); } return $result; }
public function isValid() { $isVaild = parent::isValid(); if ($isVaild) { $data = parent::getData(); if ($data['password']) { if ($data['password'] != $data['rePassword']) { $this->get('rePassword')->setMessages(['Password nhập lại phải giống password']); $isVaild = false; } } $userMapper = $this->getServiceLocator()->get('\\User\\Model\\UserMapper'); if ($data['username']) { $user = new \User\Model\User(); $user->setUsername($data['username']); $user->setId($data['id']); if ($userMapper->isExistedUserName($user)) { $this->get('username')->setMessages(['Tên tài khoản này đã được sử dụng']); $isVaild = false; } } if ($data['email']) { $user = new \User\Model\User(); $user->setEmail($data['email']); $user->setId($data['id']); if ($userMapper->isExistedEmail($user)) { $this->get('email')->setMessages(['email này đã được sử dụng']); $isVaild = false; } } } return $isVaild; }