| | <?php |
| |
|
| | namespace SimpleValidator\Validators; |
| |
|
| | use PDO; |
| |
|
| | class Exists extends Base |
| | { |
| | private $pdo; |
| | private $key; |
| | private $table; |
| |
|
| | public function __construct($field, $error_message, PDO $pdo, $table, $key = '') |
| | { |
| | parent::__construct($field, $error_message); |
| |
|
| | $this->pdo = $pdo; |
| | $this->table = $table; |
| | $this->key = $key; |
| | } |
| |
|
| |
|
| | public function execute(array $data) |
| | { |
| | if (! $this->isFieldNotEmpty($data)) { |
| | return true; |
| | } |
| |
|
| | if ($this->key === '') { |
| | $this->key = $this->field; |
| | } |
| |
|
| | $rq = $this->pdo->prepare('SELECT 1 FROM '.$this->table.' WHERE '.$this->key.'=?'); |
| | $rq->execute(array($data[$this->field])); |
| |
|
| | return $rq->fetchColumn() == 1; |
| | } |
| | } |
| |
|