SilverStripe PhoneNumber module
, (*1)
Intro
Provide some helper services to deal with phone numbers in SilverStripe, (*2)
This module integrates libphonenumber as the utility to parse and validate
phonenumbers., (*3)
Most of the time, it's a good idea to set the country of the phone number.
Otherwise, current locale will be used., (*4)
Sample code:, (*5)
$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, (*6)
SilverStripe\Security\Member:
extensions:
- LeKoala\PhoneNumber\PhoneNumberExtension
Phone DBField
You can set your DataObject db field to Phone or DBPhone::class, (*7)
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, (*8)
Two available fields:, (*9)
- 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, (*10)
Todo
None, (*11)
Compatibility
Tested with 5.x but should work on any ^4|^5 projects, (*12)
Maintainer
LeKoala - thomas@lekoala.be, (*13)