summaryrefslogtreecommitdiff
path: root/libs/SimpleValidator/Validators/Integer.php
diff options
context:
space:
mode:
Diffstat (limited to 'libs/SimpleValidator/Validators/Integer.php')
-rw-r--r--libs/SimpleValidator/Validators/Integer.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/libs/SimpleValidator/Validators/Integer.php b/libs/SimpleValidator/Validators/Integer.php
new file mode 100644
index 00000000..5afdc1e0
--- /dev/null
+++ b/libs/SimpleValidator/Validators/Integer.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace SimpleValidator\Validators;
+
+class Integer extends Base
+{
+ public function execute(array $data)
+ {
+ if ($this->isFieldNotEmpty($data)) {
+ if (is_string($data[$this->field])) {
+
+ if ($data[$this->field][0] === '-') {
+ return ctype_digit(substr($data[$this->field], 1));
+ }
+
+ return ctype_digit($data[$this->field]);
+ }
+ else {
+ return is_int($data[$this->field]);
+ }
+ }
+
+ return true;
+ }
+}