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));
}
/**
* 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
*
@ -1839,6 +1853,20 @@ class ValidationTest extends CakeTestCase {
$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
*

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 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 int $max The maximal string length
@ -560,6 +560,28 @@ class Validation {
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.
*