Merge pull request #10526 from cakephp/issue-10521

Fix notBlank() to pass on -0.0
This commit is contained in:
Mark Story 2017-04-17 20:33:15 -04:00 committed by GitHub
commit c1f1d79f10
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), 'zero should not be blank');
$this->assertTrue(Validation::notBlank(0.0), 'zero should not be blank');
$this->assertTrue(Validation::notBlank(0.0 * -1), 'negative 0 should not be blank');
$this->assertTrue(Validation::notBlank(-0.0), 'negative 0 should not be blank');
$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');
}