diff options
Diffstat (limited to 'vendor/SimpleValidator/Validators/Length.php')
-rw-r--r-- | vendor/SimpleValidator/Validators/Length.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/vendor/SimpleValidator/Validators/Length.php b/vendor/SimpleValidator/Validators/Length.php new file mode 100644 index 00000000..36e50b37 --- /dev/null +++ b/vendor/SimpleValidator/Validators/Length.php @@ -0,0 +1,48 @@ +<?php + +/* + * This file is part of Simple Validator. + * + * (c) Frédéric Guillot <contact@fredericguillot.com> + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ + +namespace SimpleValidator\Validators; + +use SimpleValidator\Base; + +/** + * @author Frédéric Guillot <contact@fredericguillot.com> + */ +class Length 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 (isset($data[$this->field]) && $data[$this->field] !== '') { + + $length = mb_strlen($data[$this->field], 'UTF-8'); + + if ($length < $this->min || $length > $this->max) { + + return false; + } + } + + return true; + } +}
\ No newline at end of file |