| <?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; |
| } |
| } |
|
|