Example #1
0
 /**
  * Validate the entire form data set against each field's validators, and additionally validate interdependent fields.
  *
  * @return boolean True if each of the container's fields validates, and additionally if the dependencies validate; otherwise false.
  */
 public function isValid()
 {
     $valid = parent::isValid();
     $setPasswordField = $this->getField('setpass');
     if (!$setPasswordField->hasErrorMessage() && $setPasswordField->getData()) {
         $passwordField = $this->getField('pass');
         if (!$this->passwordLengthValidator->isValid($passwordField->getData())) {
             $passwordField->setErrorMessage($this->passwordLengthValidator->getErrorMessage());
         }
         $passwordAgainField = $this->getField('passagain');
         if (!$passwordField->hasErrorMessage() && !$passwordAgainField->hasErrorMessage()) {
             $password = $passwordField->getData();
             $passwordAgain = $passwordAgainField->getData();
             if ($passwordAgain != $password) {
                 $valid = false;
                 $passwordAgainField->setErrorMessage($this->__('The value entered does not match the password entered in the password field.'));
             }
         }
     }
     $emailField = $this->getField('email');
     if (!$emailField->hasErrorMessage()) {
         $emailAgainField = $this->getField('emailagain');
         $email = $emailField->getData();
         $emailAgain = $emailAgainField->getData();
         if ($email != $emailAgain) {
             $valid = false;
             $emailAgainField->setErrorMessage($this->__('The value entered does not match the e-mail address entered in the e-mail address field.'));
         }
     }
     return $valid;
 }