/** * Initializes the form element. */ function init() { // set filter $this->addFilter('StringTrim'); // set required $this->setRequired(true); // set label $this->setLabel(ucfirst($this->getName())); // set validator for lowercase or regular alnum if (Daiquiri_Config::getInstance()->auth->lowerCaseUsernames) { $this->addValidator(new Daiquiri_Form_Validator_LowerCaseAlnum()); } else { $this->addValidator(new Daiquiri_Form_Validator_AlnumUnderscore()); } // add validator for min and max string length $minLength = Daiquiri_Config::getInstance()->auth->usernameMinLength; $this->addValidator('StringLength', false, array($minLength, 256)); // add validator for beeing unique in the database $validator = new Zend_Validate(); $message = 'The username is in use, please use another username.'; $userTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_User', 'username'); $userTableValidator->setMessage($message); if (!empty($this->_excludeId)) { $userTableValidator->setExclude(array('field' => 'id', 'value' => $this->_excludeId)); } $registrationTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_Registration', 'username'); $registrationTableValidator->setMessage($message); $appTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_Apps', 'appname'); $appTableValidator->setMessage($message); $validator->addValidator($userTableValidator)->addValidator($registrationTableValidator)->addValidator($appTableValidator); $this->addValidator($validator); }
/** * Initializes the form element. */ function init() { // set label $this->setLabel('Email'); // set required $this->setRequired(true); // set filter $this->addFilter('StringTrim'); // add validator for max string length $this->addValidator('StringLength', false, array(0, 256)); // add validator for email addresses $emailValidator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS | Zend_Validate_Hostname::ALLOW_LOCAL); $this->addValidator($emailValidator); // add validator for beeing unique in the database $validator = new Zend_Validate(); $message = 'The email is already in the database, please check if you are already registered.'; $userTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_User', 'email'); $userTableValidator->setMessage($message); if (!empty($this->_excludeId)) { $userTableValidator->setExclude(array('field' => 'id', 'value' => $this->_excludeId)); } $registrationTableValidator = new Zend_Validate_Db_NoRecordExists('Auth_Registration', 'email'); $registrationTableValidator->setMessage($message); // chainvalidators and add to field $validator->addValidator($userTableValidator)->addValidator($registrationTableValidator); $this->addValidator($validator); }