PHPackages                             escuelait/magnific-validator - 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. escuelait/magnific-validator

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

escuelait/magnific-validator
============================

PHP Validation Library

v0.2.0(12mo ago)01MITPHPCI passing

Since Jun 27Pushed 11mo agoCompare

[ Source](https://github.com/EscuelaIt/magnific-validator)[ Packagist](https://packagist.org/packages/escuelait/magnific-validator)[ RSS](/packages/escuelait-magnific-validator/feed)WikiDiscussions main Synced today

READMEChangelog (6)Dependencies (2)Versions (8)Used By (0)

PHP Magnific Validator
======================

[](#php-magnific-validator)

**MagnificValidator** is a small yet powerful validation library for PHP. Inspired by Laravel’s validation style, it allows you to validate input data using simple, expressive rule definitions.

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

[](#-installation)

Install the package via Composer:

```
composer require escuelait/magnific-validator
```

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

[](#-features)

- Validate single values or full data arrays
- Built-in support for common rules:

    - `required`
    - `email`
    - `url`
    - `max:`
- Retrieve detailed error messages after validation
- Throw exception on unknown rules
- Easy to extend with custom rule classes

🧪 Basic Usage
-------------

[](#-basic-usage)

```
use Escuelait\MagnificValidator\Validator;

$validatorFactory = new ValidatorsFactory();

// Validador de formulario

$validator = $validatorFactory->create([
    'email' => ['required', 'email'],
    'password' => ['required', 'max:16'],
]);
$errors = $validator->validate([
    'email' => 'user@example.com',
    'password' => 'secret123',
]);
if (empty($errors)) {
    echo "Valid data!";
} else {
    echo "Has validation errors:\n";
    print_r($errors);
}

// Validador de un campo

$validator = $validatorFactory->create(['required', 'email']);
$errors = $validator->validate('user@example.com');
if (empty($errors)) {
    echo "Valid data!";
} else {
    echo "Has validation errors:\n";
    print_r($errors);
}

// Validador de una regla simple

$validator = $validatorFactory->create('email');
$errors = $validator->validate('user@example.com');
if (empty($errors)) {
    echo "Valid data!";
} else {
    echo "Has validation errors:\n";
    print_r($errors);
}
```

✅ Available Rules
-----------------

[](#-available-rules)

RuleDescription`required`The value must not be empty`email`Must be a valid email address`url`Must be a valid URL`max:`Maximum number of characters (or numeric value)> ⚠️ If you use an unsupported rule, an `InvalidArgumentException` will be thrown.

✅ Example Test Cases
--------------------

[](#-example-test-cases)

MagnificValidator includes a test suite using PHPUnit with various validation scenarios.

### Valid inputs

[](#valid-inputs)

```
['miguel@escuela.it', ['email']],
['https://escuela.it', ['url', 'required']],
['Valid text', ['required', 'max:40']],
```

### Invalid inputs

[](#invalid-inputs)

```
['', ['required']], // Missing required input
['invalid_email', ['email']],
['http:/bad-url', ['url']],
['Too long text...', ['max:10']],
```

🧪 Running Tests
---------------

[](#-running-tests)

Run the test suite using PHPUnit:

```
vendor/bin/phpunit
```

🧩 Custom Rules
--------------

[](#-custom-rules)

You can extend the validator by creating your own rules. Just implement a rule class and ensure it returns a `validate()` method and a `message()` method.

📦 Contributions
---------------

[](#-contributions)

Feel free to open issues or submit pull requests. We welcome contributions to improve the validator or add new rules.

📝 License
---------

[](#-license)

MIT License © [EscuelaIT](https://escuela.it)

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance50

Moderate activity, may be stable

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

 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 ~1 days

Total

6

Last Release

364d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ebd1c9b67881b1023d6ee2f43a924b14782a43a5bb32d1a167aa6c54ffb1dcd5?d=identicon)[midesweb](/maintainers/midesweb)

---

Top Contributors

[![midesweb](https://avatars.githubusercontent.com/u/281585?v=4)](https://github.com/midesweb "midesweb (68 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/escuelait-magnific-validator/health.svg)

```
[![Health](https://phpackages.com/badges/escuelait-magnific-validator/health.svg)](https://phpackages.com/packages/escuelait-magnific-validator)
```

###  Alternatives

[marcosh/php-validation-dsl

A DSL for validating data in a functional fashion

483.9k](/packages/marcosh-php-validation-dsl)

PHPackages © 2026

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