mirror of
https://github.com/vlucas/valitron.git
synced 2025-12-31 07:01:54 +00:00
Fixed strict integer rule and added more integer unit tests
This commit is contained in:
parent
20a9c2d604
commit
eb436a382f
@ -246,7 +246,7 @@ class Validator
|
|||||||
{
|
{
|
||||||
if (isset($params[0]) && (bool) $params[0]){
|
if (isset($params[0]) && (bool) $params[0]){
|
||||||
//strict mode
|
//strict mode
|
||||||
return preg_match('/^-?([0-9])+$/i', $value);
|
return preg_match('/^([0-9]|-[1-9]|-?[1-9][0-9]*)$/i', $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
return filter_var($value, \FILTER_VALIDATE_INT) !== false;
|
return filter_var($value, \FILTER_VALIDATE_INT) !== false;
|
||||||
|
|||||||
@ -143,11 +143,37 @@ class ValidateTest extends BaseTestCase
|
|||||||
$v->rule('integer', 'num');
|
$v->rule('integer', 'num');
|
||||||
$this->assertTrue($v->validate());
|
$this->assertTrue($v->validate());
|
||||||
|
|
||||||
|
|
||||||
$v = new Validator(array('num' => '+41243'));
|
$v = new Validator(array('num' => '+41243'));
|
||||||
$v->rule('integer', 'num', true);
|
$v->rule('integer', 'num', true);
|
||||||
$this->assertFalse($v->validate());
|
$this->assertFalse($v->validate());
|
||||||
|
|
||||||
|
$v = new Validator(array('num' => '-1'));
|
||||||
|
$v->rule('integer', 'num', true);
|
||||||
|
$this->assertTrue($v->validate());
|
||||||
|
|
||||||
|
$v = new Validator(array('num' => '-0'));
|
||||||
|
$v->rule('integer', 'num', true);
|
||||||
|
$this->assertFalse($v->validate());
|
||||||
|
|
||||||
|
$v = new Validator(array('num' => '0'));
|
||||||
|
$v->rule('integer', 'num', true);
|
||||||
|
$this->assertTrue($v->validate());
|
||||||
|
|
||||||
|
$v = new Validator(array('num' => '+0'));
|
||||||
|
$v->rule('integer', 'num', true);
|
||||||
|
$this->assertFalse($v->validate());
|
||||||
|
|
||||||
|
$v = new Validator(array('num' => '+1'));
|
||||||
|
$v->rule('integer', 'num', true);
|
||||||
|
$this->assertFalse($v->validate());
|
||||||
|
|
||||||
|
$v = new Validator(array('num' => '0123'));
|
||||||
|
$v->rule('integer', 'num', true);
|
||||||
|
$this->assertFalse($v->validate());
|
||||||
|
|
||||||
|
$v = new Validator(array('num' => '-0123'));
|
||||||
|
$v->rule('integer', 'num', true);
|
||||||
|
$this->assertFalse($v->validate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testIntegerInvalid()
|
public function testIntegerInvalid()
|
||||||
@ -156,7 +182,6 @@ class ValidateTest extends BaseTestCase
|
|||||||
$v->rule('integer', 'num');
|
$v->rule('integer', 'num');
|
||||||
$this->assertFalse($v->validate());
|
$this->assertFalse($v->validate());
|
||||||
|
|
||||||
|
|
||||||
$v = new Validator(array('num' => '--1231'));
|
$v = new Validator(array('num' => '--1231'));
|
||||||
$v->rule('integer', 'num');
|
$v->rule('integer', 'num');
|
||||||
$this->assertFalse($v->validate());
|
$this->assertFalse($v->validate());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user