Provide some helper services to deal with phone numbers in SilverStripe
This module integrates libphonenumber as the utility to parse and validate phonenumbers.
Most of the time, it's a good idea to set the country of the phone number. Otherwise, current locale will be used.
Sample code:
$phone = new PhoneField('phone', 'Phone number');
$phone->setCountryField('CountryCode');
$validator = ZenValidator::create();
$validator->setConstraint('phone', Constraint_remote::create('/__phonenumber/validate',null,array('data' => array('country' => 'BE'))));
This module also provide an extension to apply to dataobject, for example to members
SilverStripe\Security\Member:
extensions:
- LeKoala\PhoneNumber\PhoneNumberExtension
You can set your DataObject db field to Phone or DBPhone::class
This will automatically scaffold a CountryPhoneField which is a combo field with a country dropdown (with list of prefixes) and a space for the field itself
Two available fields:
- PhoneField : a plain phone field that supports national and international numbers
- CountryPhoneField : a combo field with a country dropdown + national phone number
Expose ´__phonenumber/validate´ and ´__phonenumber/format´ endpoints for validation and formatting of phone numbers
None
Tested with 4.6 but should work on any ^4 projects
LeKoala - [email protected]