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 today

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 41% 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

1188d 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)
```

PHPackages © 2026

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