示例#1
0
 /**
  * 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);
 }
示例#2
0
 /**
  * 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);
 }