Fixed issue with Min/Max rules using decimals

This commit is contained in:
Justin Hook 2014-04-01 21:17:00 +01:00
parent bad2743912
commit 4fb6f478ef
2 changed files with 30 additions and 2 deletions

View File

@ -224,7 +224,7 @@ class Validator
*/ */
protected function validateMin($field, $value, $params) protected function validateMin($field, $value, $params)
{ {
return (int) $value >= $params[0]; return $value >= $params[0];
} }
/** /**
@ -238,7 +238,7 @@ class Validator
*/ */
protected function validateMax($field, $value, $params) protected function validateMax($field, $value, $params)
{ {
return (int) $value <= $params[0]; return $value <= $params[0];
} }
/** /**

View File

@ -154,6 +154,13 @@ class ValidateTest extends BaseTestCase
$this->assertTrue($v->validate()); $this->assertTrue($v->validate());
} }
public function testMinValidDecimal()
{
$v = new Validator(array('num' => 0.9));
$v->rule('min', 'num', 0.5);
$this->assertTrue($v->validate());
}
public function testMinInvalid() public function testMinInvalid()
{ {
$v = new Validator(array('num' => 5)); $v = new Validator(array('num' => 5));
@ -161,6 +168,13 @@ class ValidateTest extends BaseTestCase
$this->assertFalse($v->validate()); $this->assertFalse($v->validate());
} }
public function testMinInvalidDecimal()
{
$v = new Validator(array('num' => 0.5));
$v->rule('min', 'num', 0.9);
$this->assertFalse($v->validate());
}
public function testMaxValid() public function testMaxValid()
{ {
$v = new Validator(array('num' => 5)); $v = new Validator(array('num' => 5));
@ -168,6 +182,13 @@ class ValidateTest extends BaseTestCase
$this->assertTrue($v->validate()); $this->assertTrue($v->validate());
} }
public function testMaxValidDecimal()
{
$v = new Validator(array('num' => 0.4));
$v->rule('max', 'num', 0.5);
$this->assertTrue($v->validate());
}
public function testMaxInvalid() public function testMaxInvalid()
{ {
$v = new Validator(array('num' => 5)); $v = new Validator(array('num' => 5));
@ -175,6 +196,13 @@ class ValidateTest extends BaseTestCase
$this->assertFalse($v->validate()); $this->assertFalse($v->validate());
} }
public function testMaxInvalidDecimal()
{
$v = new Validator(array('num' => 0.9));
$v->rule('max', 'num', 0.5);
$this->assertFalse($v->validate());
}
public function testInValid() public function testInValid()
{ {
$v = new Validator(array('color' => 'green')); $v = new Validator(array('color' => 'green'));