diff options
Diffstat (limited to 'libs/SimpleValidator/Validators/Range.php')
-rw-r--r-- | libs/SimpleValidator/Validators/Range.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/libs/SimpleValidator/Validators/Range.php b/libs/SimpleValidator/Validators/Range.php new file mode 100644 index 00000000..065b2b9d --- /dev/null +++ b/libs/SimpleValidator/Validators/Range.php @@ -0,0 +1,33 @@ +<?php + +namespace SimpleValidator\Validators; + +class Range extends Base +{ + private $min; + private $max; + + public function __construct($field, $error_message, $min, $max) + { + parent::__construct($field, $error_message); + + $this->min = $min; + $this->max = $max; + } + + public function execute(array $data) + { + if ($this->isFieldNotEmpty($data)) { + + if (! is_numeric($data[$this->field])) { + return false; + } + + if ($data[$this->field] < $this->min || $data[$this->field] > $this->max) { + return false; + } + } + + return true; + } +} |