PHPackages                             dij-digital/deconstructed-validation-messages - 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. dij-digital/deconstructed-validation-messages

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

dij-digital/deconstructed-validation-messages
=============================================

1.1(1y ago)36MITPHPPHP ^8.2

Since Jun 21Pushed 1y ago4 watchersCompare

[ Source](https://github.com/DIJ-digital/deconstructed-validation-messages)[ Packagist](https://packagist.org/packages/dij-digital/deconstructed-validation-messages)[ Docs](https://github.com/DIJ-digital/deconstructed-validation-messages)[ RSS](/packages/dij-digital-deconstructed-validation-messages/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (14)Versions (4)Used By (0)

deconstructed-validation-messages
=================================

[](#deconstructed-validation-messages)

Is your application headless or an API? Do you want *all* your translations to be done in the frontend? Then this is the package for you. Instead of returning the translated error strings from the Laravel translation files, this package returns the original translation keys, the parameters and their values.

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require dij-digital/deconstructed-validation-messages
```

Optionally you can publish the config file with:

```
php artisan vendor:publish --tag="deconstructed-validation-messages-config"
```

This is the contents of the published config file:

```
return [
];
```

Usage
-----

[](#usage)

Simply install the package and make sure the provider is registered. The package will automatically take care of the rest.

Your response will look like this:

```
{
  "field": {
    "rule": {
      "key": "rule.language_key",
      "message": "Traditional error message",
      "parameters": {
        "x": 1,
        "y": 2
      }
    }
  }
}
```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Credits
-------

[](#credits)

- [DIJ](https://github.com/DIJ-Digital)

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance35

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 69.2% 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 ~47 days

Total

2

Last Release

640d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0ab892324187874b808c0bd037ff12f74fcb3257f0cf8d9723bbd30768d482ac?d=identicon)[DIJ](/maintainers/DIJ)

---

Top Contributors

[![NiekNijland](https://avatars.githubusercontent.com/u/43474728?v=4)](https://github.com/NiekNijland "NiekNijland (9 commits)")[![tychoengberinkDIJ](https://avatars.githubusercontent.com/u/122891499?v=4)](https://github.com/tychoengberinkDIJ "tychoengberinkDIJ (4 commits)")

---

Tags

laravelDIJdeconstructed-validation-messages

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/dij-digital-deconstructed-validation-messages/health.svg)

```
[![Health](https://phpackages.com/badges/dij-digital-deconstructed-validation-messages/health.svg)](https://phpackages.com/packages/dij-digital-deconstructed-validation-messages)
```

###  Alternatives

[proengsoft/laravel-jsvalidation

Validate forms transparently with Javascript reusing your Laravel Validation Rules, Messages, and FormRequest

1.1k2.3M49](/packages/proengsoft-laravel-jsvalidation)[stevebauman/purify

An HTML Purifier / Sanitizer for Laravel

5325.6M19](/packages/stevebauman-purify)[axlon/laravel-postal-code-validation

Worldwide postal code validation for Laravel and Lumen

3853.3M1](/packages/axlon-laravel-postal-code-validation)[vormkracht10/laravel-mails

Laravel Mails can collect everything you might want to track about the mails that has been sent by your Laravel app.

24149.7k](/packages/vormkracht10-laravel-mails)[ziming/laravel-zxcvbn

Zxcvbn Password validation rule for Laravel

3056.7k](/packages/ziming-laravel-zxcvbn)[laravel-validation-rules/phone

Validate that a phone number is in the correct format

69355.5k](/packages/laravel-validation-rules-phone)

PHPackages © 2026

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