/**
  * @dataProvider providerIsValid
  */
 public function testIsValid($value, $expected)
 {
     $code = 'error.validation.required';
     $message = 'Field is required';
     $validator = new RequiredValidator();
     $result = $validator->isValid($value);
     $this->assertEquals($expected, $result, $value);
     if (!$expected) {
         $expectedParameters = array('value' => $value);
         $expectedErrors = array(new ValidationError($code, $message, $expectedParameters));
         $resultErrors = $validator->getErrors();
         $this->assertEquals($expectedErrors, $resultErrors);
     }
 }
Ejemplo n.º 2
0
 /**
  * Provides a hook for additional form validation
  * @return null
  * @throws zibo\library\validation\exception\ValidationException when a validation error occurs
  */
 public function onProfileFormValidate()
 {
     $validationException = new ValidationException();
     if ($this->isPasswordSubmitted()) {
         $password = $this->getPassword();
         $passwordConfirmation = $this->getPasswordConfirmation();
         $validator = new RequiredValidator();
         if (!$validator->isValid($password)) {
             $validationException->addErrors(self::FIELD_PASSWORD, $validator->getErrors());
         }
         if (!$validator->isValid($passwordConfirmation)) {
             $validationException->addErrors(self::FIELD_PASSWORD_CONFIRM, $validator->getErrors());
         }
         if (!$validationException->hasErrors() && $password != $passwordConfirmation) {
             $error = new ValidationError(self::TRANSLATION_ERROR_PASSWORD_MATCH, "Your passwords do not match");
             $validationException->addErrors(self::FIELD_PASSWORD, array($error));
         }
     }
     if ($validationException->hasErrors()) {
         throw $validationException;
     }
 }