diff --git a/CHANGELOG.md b/CHANGELOG.md index fc0489d1f8bd578a11f2126ed16cbadd4476f805..8707da1136b5bffa844b8a43b3fc8d56dfe5175d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ Version 1.7 (not yet released) * Fixed #11 Errors in DateType validation * Added try out functionality. * Added Min/Max validators. +* Now passing input type to input validators. Version 1.6 =========== diff --git a/Civi/FormProcessor/API/FormProcessor.php b/Civi/FormProcessor/API/FormProcessor.php index 719276d584619858b227668cad2edff3a885fe1b..629a4556e4592e8f12c8711c2658c16c25cd008a 100644 --- a/Civi/FormProcessor/API/FormProcessor.php +++ b/Civi/FormProcessor/API/FormProcessor.php @@ -240,7 +240,7 @@ // Check the validations on the input. if (isset($params[$input['name']]) && $params[$input['name']] != "") { foreach ($input['validators'] as $validator) { - if (!$validator['validator']->validate($params[$input['name']])) { + if (!$validator['validator']->validate($params[$input['name']], $inputType)) { throw new \API_Exception($validator['validator']->getInvalidMessage() . ' (Parameter ' . $input['name'] . ')'); } } diff --git a/Civi/FormProcessor/Validation/AbstractValidator.php b/Civi/FormProcessor/Validation/AbstractValidator.php index 8fc6aecadcb16274d9ba42376c21dfb65b406864..bd53aa4d7e38d615014f799e22e23d8acd9205a3 100644 --- a/Civi/FormProcessor/Validation/AbstractValidator.php +++ b/Civi/FormProcessor/Validation/AbstractValidator.php @@ -45,7 +45,7 @@ * @param mixed $input * @return bool */ - abstract public function validate($input); + abstract public function validate($input, $inputType); public function __construct() { $this->configuration = new ConfigurationBag(); diff --git a/Civi/FormProcessor/Validation/EmailValidator.php b/Civi/FormProcessor/Validation/EmailValidator.php index 413ac49bff7517bae485763e7971b18dc0127eb3..876ccd0687281163d9d741f1dbe78f2582f6e23d 100644 --- a/Civi/FormProcessor/Validation/EmailValidator.php +++ b/Civi/FormProcessor/Validation/EmailValidator.php @@ -34,7 +34,7 @@ * @param mixed $input * @return bool */ - public function validate($input) { + public function validate($input, $inputType) { $pattern = EmailValidator::PATTERN_LOOSE; return preg_match($pattern, $input); } diff --git a/Civi/FormProcessor/Validation/MaxValidator.php b/Civi/FormProcessor/Validation/MaxValidator.php index a261edbcb874b486c171ec29456de9174078bf78..4eb3fb13af79ef35d9c2054ed8be75335c14a765 100644 --- a/Civi/FormProcessor/Validation/MaxValidator.php +++ b/Civi/FormProcessor/Validation/MaxValidator.php @@ -41,7 +41,7 @@ * @param mixed $input * @return bool */ - public function validate($input) { + public function validate($input, $inputType) { return $input <= $this->configuration->get('max_value') ? true : false; } diff --git a/Civi/FormProcessor/Validation/MinLengthValidator.php b/Civi/FormProcessor/Validation/MinLengthValidator.php index f8d6494f588dd913f12a8ecc55d2009a4f0fb336..edb2b9621beba54cff8e01f81a943d64754c05d1 100644 --- a/Civi/FormProcessor/Validation/MinLengthValidator.php +++ b/Civi/FormProcessor/Validation/MinLengthValidator.php @@ -33,7 +33,7 @@ * @param mixed $input * @return bool */ - public function validate($input) { + public function validate($input, $inputType) { return strlen($input) >= $this->configuration->get('min_length') ? true : false; } diff --git a/Civi/FormProcessor/Validation/MinValidator.php b/Civi/FormProcessor/Validation/MinValidator.php index 5e0742f62039632f1de6112d9d423c83ea03db91..b1ac1e2d2bcd9f6dae0040d2b7b0a9e3aa9a1d99 100644 --- a/Civi/FormProcessor/Validation/MinValidator.php +++ b/Civi/FormProcessor/Validation/MinValidator.php @@ -41,7 +41,7 @@ * @param mixed $input * @return bool */ - public function validate($input) { + public function validate($input, $inputType) { return $input >= $this->configuration->get('min_value') ? true : false; }