PHPackages                             rocketfellows/country-vat-format-validator-interface - 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. rocketfellows/country-vat-format-validator-interface

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

rocketfellows/country-vat-format-validator-interface
====================================================

v1.1.0(3y ago)01.3k20MITPHPPHP &gt;=7.4

Since Jan 31Pushed 3y agoCompare

[ Source](https://github.com/rocketfellows/country-vat-format-validator-interface)[ Packagist](https://packagist.org/packages/rocketfellows/country-vat-format-validator-interface)[ RSS](/packages/rocketfellows-country-vat-format-validator-interface/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (2)Dependencies (4)Versions (3)Used By (20)

Country vat format validator interface
======================================

[](#country-vat-format-validator-interface)

[![Code Coverage Badge](./badge.svg)](./badge.svg)

This component provides interface for implementing vat format validators for different countries.

Consist of:

- CountryVatFormatValidatorInterface - main interface for country vat format validator.
- CountryVatFormatValidator - abstract country vat format validator, a class that enforces an interface contract.
- CountryVatFormatEmptinessValidator - simple country vat format validator, example of implementation CountryVatFormatValidatorInterface, also provides only emptiness validation if for some country format not essential for some reason.
- CountryVatFormatValidators - CountryVatFormatValidatorInterface tuple implementation.

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

[](#installation)

```
composer require rocketfellows/country-vat-format-validator-interface
```

CountryVatFormatValidatorInterface description
----------------------------------------------

[](#countryvatformatvalidatorinterface-description)

CountryVatFormatValidatorInterface has one function ***isValid*** that takes string vat number as parameter. Interface implementations must handle inner exceptions and throws exceptions:

- CountryVatFormatValidationException

CountryVatFormatValidator description
-------------------------------------

[](#countryvatformatvalidator-description)

CountryVatFormatValidator enforces an CountryVatFormatValidatorInterface contract, handling all exceptions and throws CountryVatFormatValidationException. Inheritors must implement abstract function ***isValidFormat*** wherein all validation must be written.

Example of inheritor: CountryVatFormatEmptinessValidator

CountryVatFormatEmptinessValidator description
----------------------------------------------

[](#countryvatformatemptinessvalidator-description)

CountryVatFormatEmptinessValidator simple country vat format validator, example of implementation CountryVatFormatValidatorInterface. Also provides only emptiness validation if for some country format not essential for some reason.

May serve as an example of other country vat format validators implementations.

CountryVatFormatValidators description
--------------------------------------

[](#countryvatformatvalidators-description)

CountryVatFormatValidators - CountryVatFormatValidatorInterface tuple implementation. Represents an immutable tuple of objects of type CountryVatFormatValidatorInterface.

Contributing
------------

[](#contributing)

Welcome to pull requests. If there is a major changes, first please open an issue for discussion.

Please make sure to update tests as appropriate.

###  Health Score

26

—

LowBetter than 40% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 74.5% 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 ~60 days

Total

2

Last Release

1233d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/81402dcd0a07ad550b7f80f5871e7c302770b29d4c73a52fc35ba697f702d56e?d=identicon)[arslanim](/maintainers/arslanim)

---

Top Contributors

[![arslanim](https://avatars.githubusercontent.com/u/22678154?v=4)](https://github.com/arslanim "arslanim (35 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (12 commits)")

---

Tags

vat-number-format-validationvat-number-format-validation-interfacevat-number-format-validator

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/rocketfellows-country-vat-format-validator-interface/health.svg)

```
[![Health](https://phpackages.com/badges/rocketfellows-country-vat-format-validator-interface/health.svg)](https://phpackages.com/packages/rocketfellows-country-vat-format-validator-interface)
```

###  Alternatives

[toplan/laravel-sms

A mobile phone number validation solution based on laravel

83580.2k2](/packages/toplan-laravel-sms)[drupal/coder

Coder is a library to review Drupal code.

3046.8M629](/packages/drupal-coder)[hyperf/validation

hyperf validation

122.2M213](/packages/hyperf-validation)[udokmeci/yii2-phone-validator

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

36227.5k1](/packages/udokmeci-yii2-phone-validator)[snowcap/vat-validation

EU VAT number validation

10112.3k](/packages/snowcap-vat-validation)

PHPackages © 2026

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