summaryrefslogtreecommitdiff
path: root/libs/SimpleValidator/Validators/Length.php
diff options
context:
space:
mode:
Diffstat (limited to 'libs/SimpleValidator/Validators/Length.php')
-rw-r--r--libs/SimpleValidator/Validators/Length.php26
1 files changed, 26 insertions, 0 deletions
diff --git a/libs/SimpleValidator/Validators/Length.php b/libs/SimpleValidator/Validators/Length.php
new file mode 100644
index 00000000..7ef241c4
--- /dev/null
+++ b/libs/SimpleValidator/Validators/Length.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace SimpleValidator\Validators;
+
+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 ($this->isFieldNotEmpty($data)) {
+ $length = mb_strlen($data[$this->field], 'UTF-8');
+ return $length >= $this->min && $length <= $this->max;
+ }
+
+ return true;
+ }
+}