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

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

monkeyscloud/monkeyslegion-validation
=====================================

Attribute-driven validation &amp; DTO binding for the MonkeysLegion PHP 8.4 framework — self-validating constraints, property hooks, PSR-15 middleware.

2.0.0(2mo ago)11.9k↓32.1%1MITPHPPHP ^8.4

Since Jul 23Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/MonkeysCloud/MonkeysLegion-Validation)[ Packagist](https://packagist.org/packages/monkeyscloud/monkeyslegion-validation)[ RSS](/packages/monkeyscloud-monkeyslegion-validation/feed)WikiDiscussions main Synced yesterday

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

MonkeysLegion Validation
========================

[](#monkeyslegion-validation)

Attribute‑driven **DTO binding &amp; validation** for the [MonkeysLegion](https://github.com/monkeyscloud) PHP 8.4 framework — self-validating constraints, property hooks, PSR-15 middleware.

---

✨ Features
----------

[](#-features)

- **Self-validating constraints** — each `#[Email]`, `#[NotBlank]`, etc. validates itself (no monolithic if/else chain)
- **PHP 8.4 property hooks** — `$result->isValid`, `$result->errors`, `$result->errorCount`
- **24 built-in constraints** — strings, numbers, dates, collections, networking, cross-field, and more
- **Automatic DTO binding** — JSON body + query parameters → strongly‑typed DTO
- **PSR‑15 middleware** — validates, returns `422 Unprocessable Entity` on failure
- **ValidationResult** — structured result object with field-level error queries
- **ValidationException** — throwable with full result for catch-and-inspect
- **Zero magic** — no doctrine proxies, only native PHP reflection &amp; attributes
- **Extensible** — implement `ConstraintInterface` in a single class to add constraints

---

🛠 Requirements
--------------

[](#-requirements)

MinimumPHP**8.4**Extensions`ext-json`, `ext-mbstring`PSR`psr/http-message ^2.0`, `psr/http-server-handler ^1.0`, `psr/http-server-middleware ^1.0`---

🚀 Installation
--------------

[](#-installation)

```
composer require monkeyscloud/monkeyslegion-validation:^2.0
```

---

⚡ Quick Start
-------------

[](#-quick-start)

### 1. Define a DTO with constraints

[](#1-define-a-dto-with-constraints)

```
