From 666d1a3ab81801cab16bbba308a0ed53b6e2cb98 Mon Sep 17 00:00:00 2001 From: DenislavParvanov Date: Mon, 17 Sep 2018 16:07:15 +0300 Subject: [PATCH 1/2] add integer rule --- src/Rules/Integer.php | 17 +++++++++++++++++ src/Validator.php | 1 + tests/Rules/IntegerTest.php | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 src/Rules/Integer.php create mode 100644 tests/Rules/IntegerTest.php diff --git a/src/Rules/Integer.php b/src/Rules/Integer.php new file mode 100644 index 0000000..04ffd7c --- /dev/null +++ b/src/Rules/Integer.php @@ -0,0 +1,17 @@ + new Rules\Max, 'between' => new Rules\Between, 'url' => new Rules\Url, + 'integer' => new Rules\Integer, 'ip' => new Rules\Ip, 'ipv4' => new Rules\Ipv4, 'ipv6' => new Rules\Ipv6, diff --git a/tests/Rules/IntegerTest.php b/tests/Rules/IntegerTest.php new file mode 100644 index 0000000..7e0304f --- /dev/null +++ b/tests/Rules/IntegerTest.php @@ -0,0 +1,33 @@ +rule = new Integer; + } + + public function testValids() + { + $this->assertTrue($this->rule->check(0)); + $this->assertTrue($this->rule->check('0')); + $this->assertTrue($this->rule->check('123')); + $this->assertTrue($this->rule->check('-123')); + $this->assertTrue($this->rule->check(123)); + $this->assertTrue($this->rule->check(-123)); + + } + + public function testInvalids() + { + $this->assertFalse($this->rule->check('foo123')); + $this->assertFalse($this->rule->check('123foo')); + $this->assertFalse($this->rule->check([123])); + $this->assertFalse($this->rule->check('123.456')); + $this->assertFalse($this->rule->check('-123.456')); + } + +} From 4a546d2d0516825be24554d49e1cdfb7a3c606ed Mon Sep 17 00:00:00 2001 From: DenislavParvanov Date: Tue, 18 Sep 2018 09:12:15 +0300 Subject: [PATCH 2/2] add integer rule in readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 5bdb0d1..0dc77ee 100644 --- a/README.md +++ b/README.md @@ -287,6 +287,7 @@ Below is list of all available validation rules * [digits](#rule-digits) * [digits_between](#rule-digits_between) * [url](#rule-url) +* [integer](#rule-integer) * [ip](#rule-ip) * [ipv4](#rule-ipv4) * [ipv6](#rule-ipv6) @@ -513,6 +514,10 @@ $validation = $validator->validate($inputs, [ > For common URL scheme and mailto, we combine `FILTER_VALIDATE_URL` to validate URL format and `preg_match` to validate it's scheme. Except for JDBC URL, currently it just check a valid JDBC scheme. + +#### integer +The field under this rule must be integer. + #### ip