Format, store and validate phone number in SilverStripe
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.
$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
Tested with 4.6 but should work on any ^4 projects
LeKoala - email@example.com