executeValidators(array('validateFields', 'validateCaptcha'), $values); } /** * Validate modification * * @access public * @param array $values Form values * @return array $valid, $errors [0] = Success or not, [1] = List of errors */ public function validateModification(array $values) { $v = new Validator($values, $this->commonPasswordValidationRules()); return array( $v->execute(), $v->getErrors(), ); } /** * Validate fields * * @access protected * @param array $values Form values * @return array $valid, $errors [0] = Success or not, [1] = List of errors */ protected function validateFields(array $values) { $v = new Validator($values, array( new Validators\Required('captcha', t('This value is required')), new Validators\Required('username', t('The username is required')), new Validators\MaxLength('username', t('The maximum length is %d characters', 50), 50), )); return array( $v->execute(), $v->getErrors(), ); } /** * Validate captcha * * @access protected * @param array $values Form values * @return boolean */ protected function validateCaptcha(array $values) { $errors = array(); if (! isset($this->sessionStorage->captcha)) { $result = false; } else { $builder = new CaptchaBuilder; $builder->setPhrase($this->sessionStorage->captcha); $result = $builder->testPhrase(isset($values['captcha']) ? $values['captcha'] : ''); if (! $result) { $errors['captcha'] = array(t('Invalid captcha')); } } return array($result, $errors); } }