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 classes, and tooling. Fit remains narrow: shared Symfony constraints, cross-framework domain objects, or imported Symfony validation metadata. It is still not a fit for standard Laravel HTTP validation.symfony/validator 7.x—relevant for teams moving Laravel 11/12 stacks onto newer Symfony components. Still no evidence of a Laravel service provider or ConstraintViolationList → ValidationException mapping, so a thin internal adapter remains necessary.final classes remove the subclass/fork escape hatch, and native parameter types on validate, validateProperty, validatePropertyValue, getMetadataFor, and hasMetadataFor break subclasses, decorators, and PHPUnit mocks of those types. Positives: the package is not dead, and PHPStan/PHP-CS-Fixer usage signals baseline hygiene—but those are not security scanning or a support commitment. Adoption signals remain weak (0 stars, 0 dependents, low opportunity score), and a single release after a multi-year gap does not establish a cadence.^6.0 or does it allow 6 || 7? Is there a documented 1.x → 2.x upgrade guide (and were deprecations emitted in 1.x first)? Does any of our code extend Validator or rely on untyped/null arguments to these methods? Do our tests mock these classes and will final break them? What is the supported PHP/Laravel CI matrix—is it tested against current versions or only asserted? Is there a 2.1+ roadmap or named maintainer commitment? If we must stay on 1.x for compatibility, is it still receiving security patches? What replaces subclass-based customization now that classes are final?final classes and typed signatures mean custom subclasses, decorators, and test doubles must be reworked toward composition and internal interfaces. Application code should depend only on our ValidationService interface, with Symfony violations mapped to Laravel-native errors at the boundary. If 1.x is in production, upgrade in a dedicated branch with parity tests before merging; if new, start at 2.x and skip 1.x entirely.2.0.0. Verify the symfony/validator constraint against what our Laravel version installs, confirm PHP 8.1+, and add a CI check that fails on unexpected constraint drift. Configure the test suite for final-class mocking (or, preferably, avoid mocking the package types by stubbing our own adapter interface). Re-run PHPStan/CS in our own pipeline rather than trusting the package's.ValidationException/error-bag mapping and translations. 5) Add parity tests (messages, field paths, nested objects, arrays). 6) Canary one endpoint or domain service. 7) Document fork ownership and exit plan in an ADR. 8) Make an explicit adopt/reject decision.final classes mean every customization becomes a full fork rather than an override—raise the fork cost estimate accordingly.final classes; TypeError instead of a validation error where loose/null arguments were previously passed; broken test suites from unmockable final classes. Carried over—unmapped violations returning 500s instead of 422s, inconsistent translations, metadata/cache misconfiguration, silent validation bypass from miswiring, semantic divergence from Laravel validation, unmaintained transitive dependencies.How can I help you explore Laravel packages today?