Skip to content

Commit

Permalink
Merge pull request #91 from cakephp-fr/patch-1
Browse files Browse the repository at this point in the history
add fr phone validation + test, follow #87
  • Loading branch information
antograssiot committed Dec 1, 2014
2 parents 9a5833d + f4908a5 commit c092f52
Show file tree
Hide file tree
Showing 5 changed files with 104 additions and 95 deletions.
4 changes: 4 additions & 0 deletions Test/Case/Validation/FrValidationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ class FrValidationTest extends CakeTestCase {
*/
public function testPhone() {
$this->assertTrue(FrValidation::phone('04 76 96 12 32'));
$this->assertTrue(FrValidation::phone('07 76 96 12 32'));
$this->assertTrue(FrValidation::phone('08 76 96 12 32'));
$this->assertTrue(FrValidation::phone('09 76 96 12 32'));
$this->assertFalse(FrValidation::phone('04 76 96 12 3'));
$this->assertFalse(FrValidation::phone('07 43 90 33'));
}

/**
Expand Down
132 changes: 67 additions & 65 deletions Test/Case/Validation/InValidatationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,80 +20,82 @@
*/
class InValidationTest extends CakeTestCase {

/**
* Test the phone method of InValidation
* @return void
*/
public function testPhone() {
$this->assertTrue(InValidation::phone('8125985608'));
$this->assertTrue(InValidation::phone('08125985608'));
$this->assertTrue(InValidation::phone('0 8125985608'));
$this->assertTrue(InValidation::phone('0-8125985608'));
$this->assertTrue(InValidation::phone('+918125985608'));
$this->assertTrue(InValidation::phone('+91 8125985608'));
$this->assertTrue(InValidation::phone('91 8125985608'));
$this->assertTrue(InValidation::phone('9125985608'));
/**
* Test the phone method of InValidation
*
* @return void
*/
public function testPhone() {
$this->assertTrue(InValidation::phone('8125985608'));
$this->assertTrue(InValidation::phone('08125985608'));
$this->assertTrue(InValidation::phone('0 8125985608'));
$this->assertTrue(InValidation::phone('0-8125985608'));
$this->assertTrue(InValidation::phone('+918125985608'));
$this->assertTrue(InValidation::phone('+91 8125985608'));
$this->assertTrue(InValidation::phone('91 8125985608'));
$this->assertTrue(InValidation::phone('9125985608'));

$this->assertTrue(InValidation::phone('7893332322'));
$this->assertTrue(InValidation::phone('07893332322'));
$this->assertTrue(InValidation::phone('0-7893332322'));
$this->assertTrue(InValidation::phone('+917893332322'));
$this->assertTrue(InValidation::phone('+91 7893332322'));
$this->assertTrue(InValidation::phone('91 7893332322'));
$this->assertTrue(InValidation::phone('917893332322'));
$this->assertTrue(InValidation::phone('7893332322'));
$this->assertTrue(InValidation::phone('07893332322'));
$this->assertTrue(InValidation::phone('0-7893332322'));
$this->assertTrue(InValidation::phone('+917893332322'));
$this->assertTrue(InValidation::phone('+91 7893332322'));
$this->assertTrue(InValidation::phone('91 7893332322'));
$this->assertTrue(InValidation::phone('917893332322'));

$this->assertTrue(InValidation::phone('9247826533'));
$this->assertTrue(InValidation::phone('09247826533'));
$this->assertTrue(InValidation::phone('0-9247826533'));
$this->assertTrue(InValidation::phone('+919247826533'));
$this->assertTrue(InValidation::phone('+91 9247826533'));
$this->assertTrue(InValidation::phone('91 9247826533'));
$this->assertTrue(InValidation::phone('919247826533'));
$this->assertTrue(InValidation::phone('9247826533'));
$this->assertTrue(InValidation::phone('09247826533'));
$this->assertTrue(InValidation::phone('0-9247826533'));
$this->assertTrue(InValidation::phone('+919247826533'));
$this->assertTrue(InValidation::phone('+91 9247826533'));
$this->assertTrue(InValidation::phone('91 9247826533'));
$this->assertTrue(InValidation::phone('919247826533'));

$this->assertTrue(InValidation::phone('0405010207'));
$this->assertTrue(InValidation::phone('91405010207'));
$this->assertTrue(InValidation::phone('+91405010207'));
$this->assertTrue(InValidation::phone('0405010207'));
$this->assertTrue(InValidation::phone('91405010207'));
$this->assertTrue(InValidation::phone('+91405010207'));

$this->assertFalse(InValidation::phone('test'));
$this->assertFalse(InValidation::phone('91-(33)-(333)-(4444)'));
$this->assertFalse(InValidation::phone('91-(33)-3333-4444'));
$this->assertFalse(InValidation::phone('91-(33)-33-4444'));
$this->assertFalse(InValidation::phone('91-(33)-3-44444'));
$this->assertFalse(InValidation::phone('91-(33)-3-444'));
$this->assertFalse(InValidation::phone('91-(33)-3-44'));
$this->assertFalse(InValidation::phone('test'));
$this->assertFalse(InValidation::phone('91-(33)-(333)-(4444)'));
$this->assertFalse(InValidation::phone('91-(33)-3333-4444'));
$this->assertFalse(InValidation::phone('91-(33)-33-4444'));
$this->assertFalse(InValidation::phone('91-(33)-3-44444'));
$this->assertFalse(InValidation::phone('91-(33)-3-444'));
$this->assertFalse(InValidation::phone('91-(33)-3-44'));

$this->assertFalse(InValidation::phone('(055) 999-9999'));
$this->assertFalse(InValidation::phone('(155) 999-9999'));
$this->assertFalse(InValidation::phone('(595) 999-9999'));
$this->assertFalse(InValidation::phone('(213) 099-9999'));
$this->assertFalse(InValidation::phone('(213) 199-9999'));
$this->assertFalse(InValidation::phone('(055) 999-9999'));
$this->assertFalse(InValidation::phone('(155) 999-9999'));
$this->assertFalse(InValidation::phone('(595) 999-9999'));
$this->assertFalse(InValidation::phone('(213) 099-9999'));
$this->assertFalse(InValidation::phone('(213) 199-9999'));

// invalid area-codes
$this->assertFalse(InValidation::phone('91-(511)-999-9999'));
$this->assertFalse(InValidation::phone('91-(379)-999-9999'));
$this->assertFalse(InValidation::phone('91-(962)-999-9999'));
$this->assertFalse(InValidation::phone('91-(295)-999-9999'));
$this->assertFalse(InValidation::phone('91-(555)-999-9999'));
// invalid area-codes
$this->assertFalse(InValidation::phone('91-(511)-999-9999'));
$this->assertFalse(InValidation::phone('91-(379)-999-9999'));
$this->assertFalse(InValidation::phone('91-(962)-999-9999'));
$this->assertFalse(InValidation::phone('91-(295)-999-9999'));
$this->assertFalse(InValidation::phone('91-(555)-999-9999'));

// invalid exhange
$this->assertFalse(InValidation::phone('91-(222)-511-9999'));
// invalid exhange
$this->assertFalse(InValidation::phone('91-(222)-511-9999'));

// invalid phone number
$this->assertFalse(InValidation::phone('91-(222)-555-0199'));
$this->assertFalse(InValidation::phone('91-(222)-555-0122'));
}
// invalid phone number
$this->assertFalse(InValidation::phone('91-(222)-555-0199'));
$this->assertFalse(InValidation::phone('91-(222)-555-0122'));
}

/**
* Test the postal method of InValidation
* @return void
*/
public function testPostal() {
$this->assertTrue(InValidation::postal('500091'));
$this->assertTrue(InValidation::postal('500 091'));
/**
* Test the postal method of InValidation
*
* @return void
*/
public function testPostal() {
$this->assertTrue(InValidation::postal('500091'));
$this->assertTrue(InValidation::postal('500 091'));

$this->assertFalse(InValidation::postal('50009 1'));
$this->assertFalse(InValidation::postal('test'));
$this->assertFalse(InValidation::postal('1234567'));
}
$this->assertFalse(InValidation::postal('50009 1'));
$this->assertFalse(InValidation::postal('test'));
$this->assertFalse(InValidation::postal('1234567'));
}

}
2 changes: 1 addition & 1 deletion Validation/FrValidation.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class FrValidation extends LocalizedValidation {
* @return bool Success.
*/
public static function phone($check) {
$pattern = '/^0[1-6]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$/';
$pattern = '/^0[1-9]{1}(([0-9]{2}){4})|((\s[0-9]{2}){4})|((-[0-9]{2}){4})$/';
return (bool)preg_match($pattern, $check);
}

Expand Down
57 changes: 30 additions & 27 deletions Validation/InValidation.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,34 +20,37 @@
*/
class InValidation extends LocalizedValidation {

/**
* Validate postal code
* @param string $check The value to check.
* @return bool Success.
*/
public static function postal($check) {
$pattern = '/^\d{3}\s?\d{3}$/';
return (bool)preg_match($pattern, $check);
}
/**
* Validate postal code
*
* @param string $check The value to check.
* @return bool Success.
*/
public static function postal($check) {
$pattern = '/^\d{3}\s?\d{3}$/';
return (bool)preg_match($pattern, $check);
}

/**
* Validate phone number
* @param string $check The value to check.
* @return bool Success.
*/
public static function phone($check) {
$pattern = '/((\+*)((0[ -]+)*|(91 )*)(\d{12}+|\d{10}+))|\d{5}([- ]*)\d{6}/';
return (bool)preg_match($pattern, $check);
}
/**
* Validate phone number
*
* @param string $check The value to check.
* @return bool Success.
*/
public static function phone($check) {
$pattern = '/((\+*)((0[ -]+)*|(91 )*)(\d{12}+|\d{10}+))|\d{5}([- ]*)\d{6}/';
return (bool)preg_match($pattern, $check);
}

/**
* Checks an identification number.
* @param string $check The value to check.
* @return bool Success.
* @throws NotImplementedException
*/
public static function personId($check) {
throw new NotImplementedException('Validation method not implemented yet.');
}
/**
* Checks an identification number.
*
* @param string $check The value to check.
* @return bool Success.
* @throws NotImplementedException
*/
public static function personId($check) {
throw new NotImplementedException('Validation method not implemented yet.');
}

}
4 changes: 2 additions & 2 deletions Validation/RuValidation.php
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public static function vatin($check) {
// legal person
$checksum = array_pop($digits);
$tbNum = array(2, 4, 10, 3, 5, 9, 4, 6, 8);
$calculatedChecksum = array_sum(array_map(function($value, $multiplier) {
$calculatedChecksum = array_sum(array_map(function ($value, $multiplier) {
return $value * $multiplier;
}, $tbNum, $digits)) % 11 % 10;
} else {
Expand All @@ -101,7 +101,7 @@ public static function vatin($check) {

$sum = array(0, 0);
foreach ($tbNum as $key => $multipliers) {
$sum[$key] = array_sum(array_map(function($value, $multiplier) {
$sum[$key] = array_sum(array_map(function ($value, $multiplier) {
return $value * $multiplier;
}, $multipliers, $digits)) % 11 % 10;
}
Expand Down

0 comments on commit c092f52

Please sign in to comment.