Browse Source

Fixes #16903: Fixed 'yii\validators\NumberValidator' method 'isNotNumber' returns false for true/false value

tags/2.0.16
Anna Borzenko 6 years ago committed by Alexander Makarov
parent
commit
d7ffda020b
  1. 1
      framework/CHANGELOG.md
  2. 5
      framework/validators/NumberValidator.php
  3. 4
      tests/framework/validators/NumberValidatorTest.php

1
framework/CHANGELOG.md

@ -4,6 +4,7 @@ Yii Framework 2 Change Log
2.0.16 under development
------------------------
- Bug #16903: Fixed 'yii\validators\NumberValidator' method 'isNotNumber' returns false for true/false value (annechko)
- Bug #16648: Html::strtolower() was corrupting UTF-8 strings (Kolyunya)
- Bug #13977: Skip validation if file input does not exist (RobinKamps, s1lver)
- Bug #16183: Fixed when `yii\helpers\BaseFileHelper` sometimes returned wrong value (samdark, SilverFire, OndrejVasicek)

5
framework/validators/NumberValidator.php

@ -124,8 +124,9 @@ class NumberValidator extends Validator
private function isNotNumber($value)
{
return is_array($value)
|| (is_object($value) && !method_exists($value, '__toString'))
|| (!is_object($value) && !is_scalar($value) && $value !== null);
|| is_bool($value)
|| (is_object($value) && !method_exists($value, '__toString'))
|| (!is_object($value) && !is_scalar($value) && $value !== null);
}
/**

4
tests/framework/validators/NumberValidatorTest.php

@ -77,6 +77,8 @@ class NumberValidatorTest extends TestCase
$this->assertTrue($val->validate(-20));
$this->assertTrue($val->validate('20'));
$this->assertTrue($val->validate(25.45));
$this->assertFalse($val->validate(false));
$this->assertFalse($val->validate(true));
$this->setPointDecimalLocale();
$this->assertFalse($val->validate('25,45'));
@ -94,6 +96,8 @@ class NumberValidatorTest extends TestCase
$this->assertTrue($val->validate('020'));
$this->assertTrue($val->validate(0x14));
$this->assertFalse($val->validate('0x14')); // todo check this
$this->assertFalse($val->validate(false));
$this->assertFalse($val->validate(true));
}
public function testValidateValueAdvanced()

Loading…
Cancel
Save