gal-digital-gmbh/validation
A Laravel package that extends the validator with reusable custom rules and helpers, making form and request validation cleaner and more consistent. Simple to install and configure, it helps centralize validation logic and reduce duplicated checks across controllers and form requests.
final and adds native parameter types, which means the fork-and-trim path is now fork-and-edit — you can no longer subclass Validator to adapt it. Re-estimate the glue option as "copy the useful subset" rather than "extend the package."Consider only if: you are on PHP 8.1+ and Symfony Validator 6 (2.0.0's floor), you want a thinner binding layer over symfony/validator, you are comfortable with final classes and composition over inheritance, and your team accepts single-maintainer risk with an explicit fork-or-fix posture. Validation must run outside the HTTP layer today.
Look elsewhere if any of these are true (realistically, most of them still are):
Validator or its collaborators — classes are final and method signatures are now natively typed, so that code breaks on upgrade and cannot be re-extended.spatie/laravel-data is actively maintained, has real adoption, and publishes upgrade guides.Validator and FormRequests are already the answer.Before committing to any spike or upgrade, verify: whether Laravel 11/12 compatibility is actually exercised in CI (the release notes list tooling bumps — PHPStan, PHP-CS-Fixer — but no framework-version testing evidence); which exact Symfony 6 minor is required; whether a documented 1.x → 2.0 deprecation cycle existed or whether this was a hard break; and current star/dependent counts, since the prior assessment's "zero dependents" claim was not re-verified in this round.
To executives: "We re-reviewed the attribute-based validation package after its 2.0.0 release. Correcting our earlier read: the maintainer is active — they shipped a modernized version on Symfony 6 with upgraded static analysis and coding-standard tooling. That removes the 'abandoned' objection but not the core risk: it is still one maintainer, with no evidence of production users, and 2.0.0 is a breaking release that locks us to Symfony 6 / PHP 8.1+ and removes the extension points we'd need to customize it. Estimated cost of adoption is unchanged in kind — a fork we'd own — plus an ongoing version-pinning obligation. I still recommend an actively maintained alternative or the ~40-line binding we write and own ourselves; the package is now a better reference than before, not a better dependency."
To engineering: "2.0.0 requires Symfony 6, makes the classes final, and adds native parameter types to validate, validateProperty, validatePropertyValue, getMetadataFor, and hasMetadataFor. The typed signatures are a genuine readability win, but final plus typed params means you can't subclass or override the Validator anymore — adaptation now means editing a fork, not extending it. That's fine if we're copying the pattern into our own service provider; it's a problem if we were planning to consume the package and wrap it. It also means any spike code written against 1.x won't survive the upgrade intact. If we still want this capability, reproduce the useful subset in a service provider we own deliberately — that's cheaper than inheriting a package we'd have to read line by line and pin to a Symfony major anyway."
How can I help you explore Laravel packages today?