lekoala / silverstripe-phonenumber

在 SilverStripe 中格式化、存储和验证电话号码

资助包维护!
lekoala

安装次数: 2,318

依赖: 0

建议者: 0

安全性: 0

星级: 3

关注者: 3

分支: 2

开放问题: 1

类型:silverstripe-vendormodule

1.1.0 2023-08-10 14:59 UTC

This package is auto-updated.

Last update: 2024-09-22 11:24:32 UTC


README

Build Status scrutinizer Code coverage

简介

提供一些辅助服务来处理 SilverStripe 中的电话号码

此模块将 libphonenumber 集成为解析和验证电话号码的工具。

通常情况下,设置电话号码的国家是很明智的。否则,将使用当前区域设置。

示例代码

$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'))));

此模块还提供扩展以应用于数据对象,例如成员

SilverStripe\Security\Member:
  extensions:
    - LeKoala\PhoneNumber\PhoneNumberExtension

电话 DBField

您可以将您的数据对象 db 字段设置为 Phone 或 DBPhone::class

这将自动生成一个 CountryPhoneField,它是一个组合字段,具有国家下拉菜单(带有前缀列表)和字段本身的空白区域

表单字段

两个可用的字段

  • PhoneField:支持国内和国际号码的普通电话字段
  • CountryPhoneField:具有国家下拉菜单 + 国内电话号码的组合字段

Ajax 验证和格式化

公开 `__phonenumber/validate` 和 `__phonenumber/format` 端点以进行电话号码验证和格式化

待办事项

兼容性

已在 4.6 上测试,但应适用于任何 ^4 项目

维护者

LeKoala - thomas@lekoala.be