PHPackages                             udokmeci/yii2-phone-validator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. udokmeci/yii2-phone-validator

ActiveYii2-extension[Validation &amp; Sanitization](/categories/validation)

udokmeci/yii2-phone-validator
=============================

Modern Yii2 Phone validator wrapper on top of PhoneNumberUtil library also used by Android devices

2.0.0(8mo ago)36227.5k↓40.5%17[3 issues](https://github.com/udokmeci/yii2-phone-validator/issues)[7 PRs](https://github.com/udokmeci/yii2-phone-validator/pulls)1MITPHPPHP &gt;=8.1.0CI passing

Since Mar 10Pushed 8mo ago2 watchersCompare

[ Source](https://github.com/udokmeci/yii2-phone-validator)[ Packagist](https://packagist.org/packages/udokmeci/yii2-phone-validator)[ Docs](https://github.com/udokmeci/yii2-phone-validator)[ RSS](/packages/udokmeci-yii2-phone-validator/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (1)Dependencies (5)Versions (14)Used By (1)

Yii2 Phone Validator
====================

[](#yii2-phone-validator)

[![Tests](https://github.com/udokmeci/yii2-phone-validator/workflows/Tests/badge.svg)](https://github.com/udokmeci/yii2-phone-validator/actions)[![Code Quality](https://github.com/udokmeci/yii2-phone-validator/workflows/Code%20Quality/badge.svg)](https://github.com/udokmeci/yii2-phone-validator/actions)[![Latest Stable Version](https://camo.githubusercontent.com/7f9df5c882e62dee1d89b70a9214dc30f18769a5fb00c8064046607396cc5311/68747470733a2f2f706f7365722e707567782e6f72672f75646f6b6d6563692f796969322d70686f6e652d76616c696461746f722f762f737461626c65)](https://packagist.org/packages/udokmeci/yii2-phone-validator)[![Total Downloads](https://camo.githubusercontent.com/e93953baf06fb36c9be344267cef06be291b23ad9b332b129c4c38242d863aec/68747470733a2f2f706f7365722e707567782e6f72672f75646f6b6d6563692f796969322d70686f6e652d76616c696461746f722f646f776e6c6f616473)](https://packagist.org/packages/udokmeci/yii2-phone-validator)[![License](https://camo.githubusercontent.com/e8ebf5cedf0470c433c3544edb98d15c6a19bab7b6b501cd6a27c684eaeceb0f/68747470733a2f2f706f7365722e707567782e6f72672f75646f6b6d6563692f796969322d70686f6e652d76616c696461746f722f6c6963656e7365)](https://packagist.org/packages/udokmeci/yii2-phone-validator)[![PHP Version](https://camo.githubusercontent.com/cc9cdea9aa96b40a822425e981b0a030e3371202973c7d57b74e8e99834f81dc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e312d626c7565)](https://php.net/)

Yii2 phone number validator extension using Google's libphonenumber library.

Installation
------------

[](#installation)

```
composer require udokmeci/yii2-phone-validator
```

Usage
-----

[](#usage)

### Basic Validation

[](#basic-validation)

```
use udokmeci\yii2PhoneValidator\PhoneValidator;

class Contact extends ActiveRecord
{
    public function rules()
    {
        return [
            [['phone'], PhoneValidator::class, 'country' => 'NL'],
        ];
    }
}
```

### Using Format Enum

[](#using-format-enum)

```
use udokmeci\yii2PhoneValidator\PhoneValidator;
use udokmeci\yii2PhoneValidator\PhoneNumberFormat;

// Modern PHP 8.1+ enum usage
public function rules()
{
    return [
        [['phone'], PhoneValidator::class,
            'country' => 'NL',
            'format' => PhoneNumberFormat::E164        // Enum case
        ],
        [['mobile'], PhoneValidator::class,
            'country' => 'NL',
            'format' => PhoneNumberFormat::INTERNATIONAL // Enum case
        ],
    ];
}
```

### Dynamic Country Detection

[](#dynamic-country-detection)

```
public function rules()
{
    return [
        [['phone'], PhoneValidator::class, 'countryAttribute' => 'country_code'],
    ];
}
```

### Custom Formatting

[](#custom-formatting)

```
use udokmeci\yii2PhoneValidator\PhoneNumberFormat;

public function rules()
{
    return [
        [['phone'], PhoneValidator::class,
            'country' => 'NL',
            'format' => PhoneNumberFormat::E164  // Using enum
        ],
    ];
}
```

Configuration
-------------

[](#configuration)

PropertyDescriptionDefault`country`Fixed country code (ISO 3166-1 alpha-2)`null``countryAttribute`Model attribute containing country code`null``strict`Require country for validation`true``format`Output format`INTERNATIONAL`Format Options
--------------

[](#format-options)

FormatExample Output`PhoneNumberFormat::E164``+31612345678``PhoneNumberFormat::INTERNATIONAL``+31 6 12345678``PhoneNumberFormat::NATIONAL``06 12345678``PhoneNumberFormat::RFC3966``tel:+31-6-12345678``false`No formatting**Note:** `PhoneNumberFormat` is a modern PHP 8.1+ enum. Import: `use udokmeci\yii2PhoneValidator\PhoneNumberFormat;`

Examples
--------

[](#examples)

### Netherlands Phone

[](#netherlands-phone)

```
// Input: '0612345678'
// Output: '+31 6 12345678'
```

### US Phone

[](#us-phone)

```
[['phone'], PhoneValidator::class, 'country' => 'US']
// Input: '2125551234'
// Output: '+1 212 555 1234'
```

### Non-Strict Mode

[](#non-strict-mode)

```
[['phone'], PhoneValidator::class, 'strict' => false]
// Validates only if country is available
```

Requirements
------------

[](#requirements)

- PHP 8.1+
- Yii2 2.0.40+
- giggsey/libphonenumber-for-php ^8.13

Testing
-------

[](#testing)

Follow [Yii2 Extension Testing Guidelines](https://www.yiiframework.com/doc/guide/2.0/en/structure-extensions#testing):

```
vendor/bin/phpunit
vendor/bin/phpstan analyse
vendor/bin/phpcs --standard=PSR12 src/
```

License
-------

[](#license)

MIT License. See [LICENSE](LICENSE) file.

###  Health Score

55

—

FairBetter than 97% of packages

Maintenance58

Moderate activity, may be stable

Popularity46

Moderate usage in the ecosystem

Community17

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 96.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~785 days

Recently: every ~866 days

Total

6

Last Release

251d ago

Major Versions

1.0.4 → 2.0.02025-12-10

PHP version history (2 changes)1.0.0PHP &gt;=5.3.0

2.0.0PHP &gt;=8.1.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/0e3981825089fe62692543821e219d206b9f8f77ff4493f66234ebbd35958ab9?d=identicon)[udokmeci](/maintainers/udokmeci)

---

Top Contributors

[![udokmeci](https://avatars.githubusercontent.com/u/8896298?v=4)](https://github.com/udokmeci "udokmeci (27 commits)")[![julianrutten](https://avatars.githubusercontent.com/u/1588481?v=4)](https://github.com/julianrutten "julianrutten (1 commits)")

---

Tags

yii2phone-numberphone number validator

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/udokmeci-yii2-phone-validator/health.svg)

```
[![Health](https://phpackages.com/badges/udokmeci-yii2-phone-validator/health.svg)](https://phpackages.com/packages/udokmeci-yii2-phone-validator)
```

###  Alternatives

[skeeks/cms

SkeekS CMS — control panel and tools based on php framework Yii2

13926.0k66](/packages/skeeks-cms)[craftcms/cms

Craft CMS

3.6k3.7M3.4k](/packages/craftcms-cms)[borales/yii2-phone-input

Yii2 International telephone numbers - Asset Bundle, Behavior, Validator, Widget

1331.7M6](/packages/borales-yii2-phone-input)[codeonyii/yii2-at-least-validator

Validates at least one (or more) attributes.

28266.9k1](/packages/codeonyii-yii2-at-least-validator)[yii2mod/yii2-validators

Collection of useful validators for Yii Framework 2.0

1817.0k](/packages/yii2mod-yii2-validators)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
