mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
[phonenumber validation] allow to validate against landline and mobile
phonenumbers
This commit is contained in:
parent
d46ee72fb1
commit
e348616d00
@ -103,3 +103,5 @@ Branch CRUD-Init
|
||||
- css: add a margin on the button "delete entry" in collection
|
||||
- module `show_hide`: add the possibility to launch a show hide manually and not on page loading. Useful when show/hide occurs in collection.
|
||||
- module `show_hide`: add events to module
|
||||
- [phonenumber validation] allow to validate against mobile **or** landline/voip phonenumbers;
|
||||
|
||||
|
@ -122,6 +122,24 @@ class PhonenumberHelper
|
||||
return \in_array($validation, [ 'landline', 'voip' ]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if the phonenumber is a landline or voip phone. Return always false
|
||||
* if the validation is not configured.
|
||||
*
|
||||
* @param string $phonenumber
|
||||
* @return bool
|
||||
*/
|
||||
public function isValidPhonenumberAny($phonenumber) : bool
|
||||
{
|
||||
$validation = $this->performTwilioLookup($phonenumber);
|
||||
|
||||
if (NULL === $validation) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return \in_array($validation, [ 'landline', 'voip', 'mobile' ]);
|
||||
}
|
||||
|
||||
public function format($phonenumber)
|
||||
{
|
||||
return $this->performTwilioFormat($phonenumber);
|
||||
|
@ -17,3 +17,4 @@ This username or email does not exists: Cet utilisateur ou email n'est pas prés
|
||||
#phonenumber
|
||||
This is not a landline phonenumber: Ce numéro n'est pas une ligne fixe valide
|
||||
This is not a mobile phonenumber: Ce numéro n'est pas un numéro de portable valide
|
||||
This is not a valid phonenumber: Ce numéro de téléphone n'est pas valide
|
||||
|
@ -21,7 +21,7 @@ use Symfony\Component\Validator\Constraint;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @Annotation
|
||||
*/
|
||||
class PhonenumberConstraint extends Constraint
|
||||
{
|
||||
@ -29,10 +29,12 @@ class PhonenumberConstraint extends Constraint
|
||||
|
||||
public $notLandlineMessage = "This is not a landline phonenumber";
|
||||
|
||||
public $notValidMessage = "This is not a valid phonenumber";
|
||||
|
||||
/**
|
||||
* The type of phone: landline (not able to receive sms) or mobile (can receive sms)
|
||||
*
|
||||
* @var string 'landline' or 'mobile'
|
||||
* @var string 'landline', 'mobile' or 'any'
|
||||
*/
|
||||
public $type = null;
|
||||
|
||||
|
@ -70,10 +70,14 @@ class ValidPhonenumber extends ConstraintValidator
|
||||
$isValid = $this->phonenumberHelper->isValidPhonenumberMobile($value);
|
||||
$message = $constraint->notMobileMessage;
|
||||
break;
|
||||
case 'any':
|
||||
$isValid = $this->phonenumberHelper->isValidPhonenumberAny($value);
|
||||
$message = $constraint->notValidMessage;
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new \LogicException(sprintf("This type '%s' is not implemented. "
|
||||
. "Possible values are 'mobile', 'landline'"), $constraint->type);
|
||||
. "Possible values are 'mobile', 'landline' or 'any'", $constraint->type));
|
||||
}
|
||||
|
||||
if (FALSE === $isValid) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user