messages = array(); foreach ($validation as $field => $chain) { if (!isset($input[$field])) { continue; } $validatorChain = new \Zend\Validator\ValidatorChain(); foreach ($chain['Validate'] as $validator) { $class = !isset($validator['I18nClass']) ? '\\Zend\\Validator\\' . $validator['Class'] : '\\Zend\\I18n\\Validator\\' . $validator['I18nClass']; $validatorChain->attach(new $class($validator['Options'])); } if (!$validatorChain->isValid($input[$field])) { $valid = false; foreach ($validatorChain->getMessages() as $message) { $this->messages[$field][] = $message; } } } return $valid; } /** * Validate a set of inputs from validation meta-data. * @param array $validation * @param array $input * @return boolean */ public function validateGroupedInputSet(array $validationGroups, array $input) { $valid = true; $this->messages = array(); foreach ($validationGroups as $group => $validationSet) { foreach ($validationSet as $field => $chain) { if (!isset($input[$group][$field])) { continue; } $validatorChain = new \Zend\Validator\ValidatorChain(); foreach ($chain['Validate'] as $validator) { $class = !isset($validator['I18nClass']) ? '\\Zend\\Validator\\' . $validator['Class'] : '\\Zend\\I18n\\Validator\\' . $validator['I18nClass']; $validatorChain->attach(new $class($validator['Options'])); } if (!$validatorChain->isValid($input[$group][$field])) { $valid = false; foreach ($validatorChain->getMessages() as $message) { isset($this->messages[$group]) || $this->messages[$group] = array(); $this->messages[$group][$field][] = $message; } } } } return $valid; } /** * Retrieve validation error messages. * @return array */ public function getMessages() { return $this->messages; } }