PHPackages                             spiral/validation - 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. spiral/validation

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

spiral/validation
=================

Nested validation, Checkers, Conditional Validation

3.16.1(3w ago)325.2k—0%31MITPHPPHP &gt;=8.1CI failing

Since Sep 16Pushed 3w ago4 watchersCompare

[ Source](https://github.com/spiral/validation)[ Packagist](https://packagist.org/packages/spiral/validation)[ Docs](https://spiral.dev)[ GitHub Sponsors](https://github.com/sponsors/spiral)[ RSS](/packages/spiral-validation/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (5)Versions (100)Used By (1)

Nested Validation, Checkers, Conditional Validation

[![PHP Version Require](https://camo.githubusercontent.com/a173740ff52b18490acb1cb7a0c80143228b0c33e4aec1e2861cf689f1a400a7/68747470733a2f2f706f7365722e707567782e6f72672f73706972616c2f76616c69646174696f6e2f726571756972652f706870)](https://packagist.org/packages/spiral/validation)[![Latest Stable Version](https://camo.githubusercontent.com/949a9a46cd5b22c8bf81013d754aa012bdfad21fa7db4a8e76408501d80cfd89/68747470733a2f2f706f7365722e707567782e6f72672f73706972616c2f76616c69646174696f6e2f762f737461626c65)](https://packagist.org/packages/spiral/validation)[![phpunit](https://github.com/spiral/validation/actions/workflows/phpunit.yml/badge.svg)](https://github.com/spiral/validation/actions)[![psalm](https://github.com/spiral/validation/actions/workflows/psalm.yml/badge.svg)](https://github.com/spiral/validation/actions)[![Codecov](https://camo.githubusercontent.com/cc192328d19efaba494c35955193c5abd1fe37b7a28128b71598d55abe10ff1f/68747470733a2f2f636f6465636f762e696f2f67682f73706972616c2f76616c69646174696f6e2f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/spiral/validation/)[![Total Downloads](https://camo.githubusercontent.com/4f8b099a7298927a0af81fc057b372d53843bdd342c901465bb6135d7e64e270/68747470733a2f2f706f7365722e707567782e6f72672f73706972616c2f76616c69646174696f6e2f646f776e6c6f616473)](https://packagist.org/packages/spiral/validation)[![type-coverage](https://camo.githubusercontent.com/11ba9be53e6d8449812abbc0ba5f673a32771b2d9935cb938821be1d708a7749/68747470733a2f2f73686570686572642e6465762f6769746875622f73706972616c2f76616c69646174696f6e2f636f7665726167652e737667)](https://shepherd.dev/github/spiral/validation)[![psalm-level](https://camo.githubusercontent.com/eab69f09e2c1abaad3e2c38acec530cf167cf9ac5ec9946ba1c5f254cf9e8c67/68747470733a2f2f73686570686572642e6465762f6769746875622f73706972616c2f76616c69646174696f6e2f6c6576656c2e737667)](https://shepherd.dev/github/spiral/validation)[![](https://camo.githubusercontent.com/4442b73a11753b80fdd7b442ddbfaf8383902c8b9ffa66ed1718e8c62e102f2e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646973636f72642d636861742d6d6167656e74612e737667)](https://discord.gg/8bZsjYhVVk)

**[Documentation](https://spiral.dev/docs/security-validation)** | [Framework Bundle](https://github.com/spiral/framework)

License:
--------

[](#license)

MIT License (MIT). Please see [`LICENSE`](./LICENSE) for more information. Maintained by [Spiral Scout](https://spiralscout.com).

###  Health Score

62

—

FairBetter than 99% of packages

Maintenance94

Actively maintained with recent releases

Popularity30

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity86

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 92.9% 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 ~28 days

Recently: every ~82 days

Total

97

Last Release

26d ago

Major Versions

v1.4.4 → v2.6.02020-09-02

2.14.1 → 3.0.02022-09-13

PHP version history (5 changes)v1.0.0PHP ^7.1

v1.3.0PHP ^7.2

2.7.0PHP &gt;=7.2

2.10.0PHP &gt;=7.4

3.0.0PHP &gt;=8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/796136?v=4)[Anton Tsitou](/maintainers/wolfy-j)[@wolfy-j](https://github.com/wolfy-j)

---

Top Contributors

[![wolfy-j](https://avatars.githubusercontent.com/u/796136?v=4)](https://github.com/wolfy-j "wolfy-j (3447 commits)")[![spiralbot](https://avatars.githubusercontent.com/u/100867204?v=4)](https://github.com/spiralbot "spiralbot (120 commits)")[![SerafimArts](https://avatars.githubusercontent.com/u/2461257?v=4)](https://github.com/SerafimArts "SerafimArts (99 commits)")[![vvval](https://avatars.githubusercontent.com/u/11367763?v=4)](https://github.com/vvval "vvval (18 commits)")[![roxblnfk](https://avatars.githubusercontent.com/u/4152481?v=4)](https://github.com/roxblnfk "roxblnfk (5 commits)")[![alexndr-novikov](https://avatars.githubusercontent.com/u/7372962?v=4)](https://github.com/alexndr-novikov "alexndr-novikov (4 commits)")[![rauanmayemir](https://avatars.githubusercontent.com/u/9691?v=4)](https://github.com/rauanmayemir "rauanmayemir (4 commits)")[![butschster](https://avatars.githubusercontent.com/u/773481?v=4)](https://github.com/butschster "butschster (3 commits)")[![tuneyourserver](https://avatars.githubusercontent.com/u/7487510?v=4)](https://github.com/tuneyourserver "tuneyourserver (2 commits)")[![R3VoLuT1OneR](https://avatars.githubusercontent.com/u/1111188?v=4)](https://github.com/R3VoLuT1OneR "R3VoLuT1OneR (2 commits)")[![lex111](https://avatars.githubusercontent.com/u/4408379?v=4)](https://github.com/lex111 "lex111 (1 commits)")[![jwdeitch](https://avatars.githubusercontent.com/u/7282720?v=4)](https://github.com/jwdeitch "jwdeitch (1 commits)")[![jdrieghe](https://avatars.githubusercontent.com/u/12606789?v=4)](https://github.com/jdrieghe "jdrieghe (1 commits)")[![nikolaev-dm](https://avatars.githubusercontent.com/u/52159053?v=4)](https://github.com/nikolaev-dm "nikolaev-dm (1 commits)")[![ncou](https://avatars.githubusercontent.com/u/16743322?v=4)](https://github.com/ncou "ncou (1 commits)")[![MatthewHallCom](https://avatars.githubusercontent.com/u/1230091?v=4)](https://github.com/MatthewHallCom "MatthewHallCom (1 commits)")[![samsonasik](https://avatars.githubusercontent.com/u/459648?v=4)](https://github.com/samsonasik "samsonasik (1 commits)")

---

Tags

nested-rulesphp7spiralvalidationvalidator

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/spiral-validation/health.svg)

```
[![Health](https://phpackages.com/badges/spiral-validation/health.svg)](https://phpackages.com/packages/spiral-validation)
```

###  Alternatives

[webmozart/assert

Assertions to validate method input/output with nice error messages.

7.6k882.5M1.0k](/packages/webmozart-assert)[composer/semver

Version comparison library that offers utilities, version constraint parsing and validation.

3.3k479.5M567](/packages/composer-semver)[respect/validation

The most awesome validation engine ever created for PHP

5.9k36.6M349](/packages/respect-validation)[propaganistas/laravel-phone

Adds phone number functionality to Laravel based on Google's libphonenumber API.

3.0k34.5M83](/packages/propaganistas-laravel-phone)[laminas/laminas-escaper

Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs

21986.9M118](/packages/laminas-laminas-escaper)[swaggest/json-schema

High definition PHP structures with JSON-schema based validation

48612.2M67](/packages/swaggest-json-schema)

PHPackages © 2026

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