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