zendValidator = $validator; } if (!is_string($validator)) { throw new ComponentException('Invalid Validator Construct'); } if (false === stripos($validator, 'Zend')) { $validator = "Zend\Validator\\{$validator}"; } else { $validator = "\\{$validator}"; } $zendMirror = new ReflectionClass($validator); if ($zendMirror->hasMethod('__construct')) { $this->zendValidator = $zendMirror->newInstanceArgs($params); } else { $this->zendValidator = $zendMirror->newInstance(); } } public function assert($input) { $exceptions = array(); $validator = clone $this->zendValidator; if ($validator->isValid($input)) { return true; } else { foreach ($validator->getMessages() as $m) { $exceptions[] = $this->reportError($m, get_object_vars($this)); } } throw $this->reportError($input)->setRelated($exceptions); } public function validate($input) { $validator = clone $this->zendValidator; return $validator->isValid($input); } }