namibia
df0489e1eeeeab5a9bd44e1d84fce49924fe1bac
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
<?php namespace Utility\Service; /** * Input validation from meta-data. * @author andre.fourie */ class Validator { /** * @var array */ protected $messages; /** * Validate a set of inputs from validation meta-data. * @param array $validation * @param array $input * @return boolean */ public function validateInputSet(array $validation, array $input) { $valid = true; $this->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; } } |
Commits for namibiamodule/Utility/src/Utility/Service/Validator.php
Revision | Author | Commited | Message |
---|---|---|---|
df0489 ... | Mark | Fri 14 Oct, 2016 10:01:00 +0000 | initial commit |