Fix notBlank() to pass on -0.0

Copy the implementation from 3.x as it works with -0.0 already.

Refs #10521
This commit is contained in:
mark_story 2017-04-16 09:57:36 -04:00
parent f08d96306b
commit 9007a7fe58
2 changed files with 7 additions and 8 deletions

View file

@ -148,6 +148,10 @@ class ValidationTest extends CakeTestCase {
* @return void
*/
public function testNotBlank() {
$this->assertTrue(Validation::notBlank(0));
$this->assertTrue(Validation::notBlank(0.0));
$this->assertTrue(Validation::notBlank(-0));
$this->assertTrue(Validation::notBlank(-0.0));
$this->assertTrue(Validation::notBlank('abcdefg'));
$this->assertTrue(Validation::notBlank('fasdf '));
$this->assertTrue(Validation::notBlank('fooo' . chr(243) . 'blabla'));

View file

@ -66,19 +66,14 @@ class Validation {
*
* Returns true if string contains something other than whitespace
*
* $check can be passed as an array:
* array('check' => 'valueToCheck');
*
* @param string|array $check Value to check
* @param string $check Value to check
* @return bool Success
*/
public static function notBlank($check) {
if (!is_scalar($check)) {
return false;
}
if (empty($check) && (string)$check !== '0') {
if (empty($check) && !is_bool($check) && !is_numeric($check)) {
return false;
}
return static::_check($check, '/[^\s]+/m');
}