mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 11:28:25 +00:00
Merge pull request #1233 from spiliot/patch-1
Money validation should accept one decimal place.
This commit is contained in:
commit
619f66178b
2 changed files with 13 additions and 5 deletions
|
@ -1958,29 +1958,37 @@ class ValidationTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testMoney() {
|
public function testMoney() {
|
||||||
|
$this->assertTrue(Validation::money('100'));
|
||||||
|
$this->assertTrue(Validation::money('100.11'));
|
||||||
|
$this->assertTrue(Validation::money('100.112'));
|
||||||
|
$this->assertTrue(Validation::money('100.1'));
|
||||||
|
$this->assertTrue(Validation::money('100.111,1'));
|
||||||
|
$this->assertTrue(Validation::money('100.111,11'));
|
||||||
|
$this->assertFalse(Validation::money('100.111,111'));
|
||||||
|
|
||||||
$this->assertTrue(Validation::money('$100'));
|
$this->assertTrue(Validation::money('$100'));
|
||||||
$this->assertTrue(Validation::money('$100.11'));
|
$this->assertTrue(Validation::money('$100.11'));
|
||||||
$this->assertTrue(Validation::money('$100.112'));
|
$this->assertTrue(Validation::money('$100.112'));
|
||||||
$this->assertFalse(Validation::money('$100.1'));
|
$this->assertTrue(Validation::money('$100.1'));
|
||||||
$this->assertFalse(Validation::money('$100.1111'));
|
$this->assertFalse(Validation::money('$100.1111'));
|
||||||
$this->assertFalse(Validation::money('text'));
|
$this->assertFalse(Validation::money('text'));
|
||||||
|
|
||||||
$this->assertTrue(Validation::money('100', 'right'));
|
$this->assertTrue(Validation::money('100', 'right'));
|
||||||
$this->assertTrue(Validation::money('100.11$', 'right'));
|
$this->assertTrue(Validation::money('100.11$', 'right'));
|
||||||
$this->assertTrue(Validation::money('100.112$', 'right'));
|
$this->assertTrue(Validation::money('100.112$', 'right'));
|
||||||
$this->assertFalse(Validation::money('100.1$', 'right'));
|
$this->assertTrue(Validation::money('100.1$', 'right'));
|
||||||
$this->assertFalse(Validation::money('100.1111$', 'right'));
|
$this->assertFalse(Validation::money('100.1111$', 'right'));
|
||||||
|
|
||||||
$this->assertTrue(Validation::money('€100'));
|
$this->assertTrue(Validation::money('€100'));
|
||||||
$this->assertTrue(Validation::money('€100.11'));
|
$this->assertTrue(Validation::money('€100.11'));
|
||||||
$this->assertTrue(Validation::money('€100.112'));
|
$this->assertTrue(Validation::money('€100.112'));
|
||||||
$this->assertFalse(Validation::money('€100.1'));
|
$this->assertTrue(Validation::money('€100.1'));
|
||||||
$this->assertFalse(Validation::money('€100.1111'));
|
$this->assertFalse(Validation::money('€100.1111'));
|
||||||
|
|
||||||
$this->assertTrue(Validation::money('100', 'right'));
|
$this->assertTrue(Validation::money('100', 'right'));
|
||||||
$this->assertTrue(Validation::money('100.11€', 'right'));
|
$this->assertTrue(Validation::money('100.11€', 'right'));
|
||||||
$this->assertTrue(Validation::money('100.112€', 'right'));
|
$this->assertTrue(Validation::money('100.112€', 'right'));
|
||||||
$this->assertFalse(Validation::money('100.1€', 'right'));
|
$this->assertTrue(Validation::money('100.1€', 'right'));
|
||||||
$this->assertFalse(Validation::money('100.1111€', 'right'));
|
$this->assertFalse(Validation::money('100.1111€', 'right'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -528,7 +528,7 @@ class Validation {
|
||||||
* @return boolean Success
|
* @return boolean Success
|
||||||
*/
|
*/
|
||||||
public static function money($check, $symbolPosition = 'left') {
|
public static function money($check, $symbolPosition = 'left') {
|
||||||
$money = '(?!0,?\d)(?:\d{1,3}(?:([, .])\d{3})?(?:\1\d{3})*|(?:\d+))((?!\1)[,.]\d{2})?';
|
$money = '(?!0,?\d)(?:\d{1,3}(?:([, .])\d{3})?(?:\1\d{3})*|(?:\d+))((?!\1)[,.]\d{1,2})?';
|
||||||
if ($symbolPosition === 'right') {
|
if ($symbolPosition === 'right') {
|
||||||
$regex = '/^' . $money . '(?<!\x{00a2})\p{Sc}?$/u';
|
$regex = '/^' . $money . '(?<!\x{00a2})\p{Sc}?$/u';
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue