PHPackages                             marcuspmd/attr\_tools - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. marcuspmd/attr\_tools

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

marcuspmd/attr\_tools
=====================

v0.0.13(1y ago)031MITPHPPHP &gt;=8.0

Since Sep 12Pushed 1y ago1 watchersCompare

[ Source](https://github.com/marcuspmd/attrTools)[ Packagist](https://packagist.org/packages/marcuspmd/attr_tools)[ RSS](/packages/marcuspmd-attr-tools/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (7)Versions (14)Used By (0)

```
# Documentation

The `attrTools` library offers a collection of validators to enforce rules on your data models.

These validators can be used as attributes in PHP classes.

## Installation

You can install the package via composer:

```bash
composer require marcuspmd/attr-tools
```

## Usage

To use the validators, you need to create a new instance of the `AttrValidator` class and pass the object you want to validate.

```php
$validator = new AttrValidator();

$class = new class {
    #[RequiredValidator()]
    public string $field = 'testString';
};

$validator->isValid($class);
```

## Validators

The following validators are available:

### Common Validators

- BooleanValidator [link](#booleanvalidator)
- EmailValidator [link](#emailvalidator)
- EnumValidator [link](#enumvalidator)
- UrlValidator [link](#urlvalidator)
- IpValidator [link](#ipvalidator)
- UuidValidator [link](#uuidvalidator)
- IsNotNullValidator [link](#isnotnullvalidator)
- InstanceValidator [link](#instancevalidator)
- EqualsValidator [link](#equalsvalidator)
- IsNotEqualsValidator [link](#isnotequalsvalidator)
- RequiredValidator [link](#requiredvalidator)
- CustomFunctionValidator [link](#customfunctionvalidator)

### Array Validators

- CountValidator [link](#countvalidator)
- InArrayValidator [link](#inarrayvalidator)

### Date Validators

- DateTimeValidator [link](#datetimevalidator)
- DateRangeValidator [link](#daterangevalidator)

### Numeric Validators

- DecimalValidator [link](#decimalvalidator)
- NumericValidator [link](#numericvalidator)
- RangeValidator [link](#rangevalidator)
- GreaterThanValidator [link](#greaterthanvalidator)
- GreaterThanOrEqualValidator [link](#greaterthanorequalvalidator)
- LessThanValidator [link](#lessthanvalidator)
- LessThanOrEqualValidator [link](#lessthanorequalvalidator)

### String Validators

- LengthValidator [link](#lengthvalidator)
- RegexValidator [link](#regexvalidator)

### Brazilian Validators

- CnpjValidator [link](#cnpjvalidator)
- CpfValidator [link](#cpfvalidator)
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance46

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~17 days

Recently: every ~36 days

Total

13

Last Release

411d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8e8e422fca2872ec7e16b69b39579e87a3c55bb44906ec69acc59317da44435f?d=identicon)[scorpionslh](/maintainers/scorpionslh)

---

Top Contributors

[![marcuspmd](https://avatars.githubusercontent.com/u/1530934?v=4)](https://github.com/marcuspmd "marcuspmd (21 commits)")

###  Code Quality

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/marcuspmd-attr-tools/health.svg)

```
[![Health](https://phpackages.com/badges/marcuspmd-attr-tools/health.svg)](https://phpackages.com/packages/marcuspmd-attr-tools)
```

###  Alternatives

[savannabits/primevue-datatables

Easy Laravel Server-Side implementation of PrimeVue Datatables

337.7k1](/packages/savannabits-primevue-datatables)

PHPackages © 2026

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