diff options
author | Frédéric Guillot <fred@kanboard.net> | 2018-04-04 15:21:13 -0700 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2018-04-04 15:21:13 -0700 |
commit | a4642d17e0e1ea018b128efdcc3db281461458b1 (patch) | |
tree | 00210c3d0abd0adea7f8817e6ba1d82c1ea4b50e /libs/SimpleValidator/Validator.php | |
parent | 62178b1f2b4ad6ed8eafbcd3be8ef2f46b041b82 (diff) |
Move custom libs to the source tree
Diffstat (limited to 'libs/SimpleValidator/Validator.php')
-rw-r--r-- | libs/SimpleValidator/Validator.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/libs/SimpleValidator/Validator.php b/libs/SimpleValidator/Validator.php new file mode 100644 index 00000000..30015dc6 --- /dev/null +++ b/libs/SimpleValidator/Validator.php @@ -0,0 +1,44 @@ +<?php + +namespace SimpleValidator; + +class Validator +{ + private $data = array(); + private $errors = array(); + private $validators = array(); + + public function __construct(array $data, array $validators) + { + $this->data = $data; + $this->validators = $validators; + } + + public function execute() + { + $result = true; + + foreach ($this->validators as $validator) { + if (! $validator->execute($this->data)) { + $this->addError($validator->getField(), $validator->getErrorMessage()); + $result = false; + } + } + + return $result; + } + + public function addError($field, $message) + { + if (! isset($this->errors[$field])) { + $this->errors[$field] = array(); + } + + $this->errors[$field][] = $message; + } + + public function getErrors() + { + return $this->errors; + } +} |