New Validation::(min|max)ByteLength() addition

This commit is contained in:
Mischa ter Smitten 2016-12-16 21:34:41 +01:00 committed by chinpei215
parent 9999d368c9
commit 6818268a27
2 changed files with 52 additions and 2 deletions

View file

@ -1825,6 +1825,20 @@ class ValidationTest extends CakeTestCase {
$this->assertFalse(Validation::maxLength('ÆΔΩЖÇ', 3)); $this->assertFalse(Validation::maxLength('ÆΔΩЖÇ', 3));
} }
/**
* maxLengthBytes method
*
* @return void
*/
public function testMaxLengthBytes() {
$this->assertTrue(Validation::maxLengthBytes('ab', 3));
$this->assertTrue(Validation::maxLengthBytes('abc', 3));
$this->assertTrue(Validation::maxLengthBytes('ÆΔΩЖÇ', 10));
$this->assertTrue(Validation::maxLengthBytes('ÆΔΩЖÇ', 11));
$this->assertFalse(Validation::maxLengthBytes('abcd', 3));
$this->assertFalse(Validation::maxLengthBytes('ÆΔΩЖÇ', 9));
}
/** /**
* testMinLength method * testMinLength method
* *
@ -1839,6 +1853,20 @@ class ValidationTest extends CakeTestCase {
$this->assertTrue(Validation::minLength('ÆΔΩЖÇ', 2)); $this->assertTrue(Validation::minLength('ÆΔΩЖÇ', 2));
} }
/**
* minLengthBytes method
*
* @return void
*/
public function testMinLengthBytes() {
$this->assertFalse(Validation::minLengthBytes('ab', 3));
$this->assertFalse(Validation::minLengthBytes('ÆΔΩЖÇ', 11));
$this->assertTrue(Validation::minLengthBytes('abc', 3));
$this->assertTrue(Validation::minLengthBytes('abcd', 3));
$this->assertTrue(Validation::minLengthBytes('ÆΔΩЖÇ', 10));
$this->assertTrue(Validation::minLengthBytes('ÆΔΩЖÇ', 9));
}
/** /**
* testUrl method * testUrl method
* *

View file

@ -539,7 +539,7 @@ class Validation {
} }
/** /**
* Checks whether the length of a string is greater or equal to a minimal length. * Checks whether the length of a string (in character) is greater or equal to a minimal length.
* *
* @param string $check The string to test * @param string $check The string to test
* @param int $min The minimal string length * @param int $min The minimal string length
@ -550,7 +550,7 @@ class Validation {
} }
/** /**
* Checks whether the length of a string is smaller or equal to a maximal length.. * Checks whether the length of a string (in character) is smaller or equal to a maximal length..
* *
* @param string $check The string to test * @param string $check The string to test
* @param int $max The maximal string length * @param int $max The maximal string length
@ -560,6 +560,28 @@ class Validation {
return mb_strlen($check) <= $max; return mb_strlen($check) <= $max;
} }
/**
* Checks whether the length of a string (in bytes) is greater or equal to a minimal length.
*
* @param string $check The string to test
* @param int $min The minimal string length
* @return bool Success
*/
public static function minLengthBytes($check, $min) {
return strlen($check) >= $min;
}
/**
* Checks whether the length of a string (in bytes) is smaller or equal to a maximal length..
*
* @param string $check The string to test
* @param int $max The maximal string length
* @return bool Success
*/
public static function maxLengthBytes($check, $max) {
return strlen($check) <= $max;
}
/** /**
* Checks that a value is a monetary amount. * Checks that a value is a monetary amount.
* *