Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Validator Bundle Laravel Package

phpmentors/validator-bundle

A Symfony bundle from PHP Mentors that adds flexible validation support to your application, integrating with Symfony's validation component and offering reusable constraints for validating domain objects, forms, and request data.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — still poor for a Laravel stack, and the release does not touch this. The package remains a Symfony bundle (phpmentors/validator-bundle): a Bundle subclass, a DI extension with a configuration tree, service definitions under Resources/config, bootstrapped via symfony/http-kernel / symfony/framework-bundle. v1.3.0 changes only the supported Symfony range; it does not introduce framework-agnostic packaging (no PSR-11-only service provider, no standalone factory, no Laravel service provider). Laravel has no bundle-registration lifecycle, so there is still no seam. The package also presumes symfony/validator as the validation engine, whereas Laravel ships Validator, FormRequest, and the Rule contract. Net-new capability for our stack: unchanged at effectively zero.

What v1.3.0 actually changes. The constraint moves from a Symfony 2.x-era floor to Symfony 2.8.0 or 3.0.0 or 4.0.0 or greater (PR #13, @iteman). This materially corrects one prior assumption: the package is not pre-Symfony-4 — it explicitly supports Symfony 4. It also implies the effective ceiling is Symfony 4: there is no Symfony 5/6 support, and Symfony 4.4's security support window has already closed (Nov 2023). So the ceiling is a version line that is itself end-of-life. The PHP constraint is still unverified from the release notes and remains the deciding factor for installability; a Symfony-4-era constraint set typically implies PHP 7.1–7.4, which collides with a PHP 8.1+ Laravel baseline at the Composer solver level. One contributor landing one PR is a sign of life, not a maintenance stream.

Integration feasibility — still not feasible without a fork or a port. Composer may now resolve more of the dependency graph than previously assumed, but the bundle still will not boot without symfony/framework-bundle, symfony/dependency-injection, and symfony/config. Pulling FrameworkBundle into a Laravel app to satisfy a thin validation wrapper remains disproportionate. For a Symfony 3/4 application the package would install natively, but we have not identified one in the org, and even then we would be adopting a dependency pinned to an EOL Symfony line. The realistic path is unchanged: read the source, reimplement the pattern.

Technical risk — high, marginally reduced in narrow cases, unchanged for us. Abandonment profile is essentially the same: 8 stars, 0 dependents, no security-patch stream, no backport path, no community to absorb breakage. BSD-2-Clause remains permissive and legally clean. v1.3.0 narrows the "won't even resolve" risk for legacy Symfony stacks and removes the "predates Symfony 4" objection, but it introduces no forward path and no support commitment. Opportunity score (7.02) versus composite score (0.23) still reads as an interesting idea space with an unmaintained artifact.

Key questions to resolve before any decision:

  • What are the exact composer.json constraints after v1.3.0 — specifically the php requirement and whether symfony/validator is capped below 5? (composer why-not against our target PHP/Laravel.)
  • Does the Symfony 3/4 support include any refactor that decouples the validation-invocation logic from FrameworkBundle? (A standalone service would change the port calculus.)
  • What exactly does it add over symfony/validator — actual class list and public API, still unenumerated.
  • Does it provide anything Laravel lacks (domain-object validation convention, exception semantics, nested-object traversal)?
  • Do we have any Symfony 3/4 footprint in the org? If so, is it on a supported line or already EOL?
  • If we ported the pattern, who owns the resulting code?

Integration Approach

Stack fit — high overlap, low marginal value; unchanged by the release. Laravel's validation layer covers the same problem space: FormRequest for boundary validation, Rule objects for reusable constraints, Validator::after for cross-field logic, validateWithBag for multi-form error bags, first-class nested/array validation. Symfony's constraint model maps near 1:1 onto Laravel rules. Any behavior in this bundle is plausibly expressible as a small service class plus one or two custom rules. v1.3.0 raises the Symfony version ceiling but does not add capability we lack.

Migration path — same three options, same preference order:

  1. Do not integrate (recommended). Record the evaluation, note the v1.3.0 constraint change, close it out, keep the pattern in a design note.
  2. Pattern port. Read the bundle source, identify the validation-invocation convention it enforces, reimplement as a Laravel service (constructor-injected Validator contract) plus custom Rule classes. Estimated 1–2 engineer-days including tests. No third-party dependency, no platform-constraint risk.
  3. Adopt in a Symfony service, if one exists. Now more plausible on paper (Symfony 3/4 would install natively), but only worth pursuing if we own such an app and accept that the underlying Symfony line is EOL. Requires full constraint vetting.

Compatibility work required: re-read composer.json post-v1.3.0 to pin the PHP floor/ceiling and the symfony/validator cap; confirm whether the bundle installs under our platform requirements without --ignore-platform-reqs (which we should not use — it defers failure to runtime). Confirm whether Symfony 4 support extends to 4.4 LTS or stops earlier.

Sequencing:

  1. Source read and API inventory (half day) — confirm what is actually offered; check whether the v1.3.0 diff touched anything beyond constraints and CI.
  2. Constraint verification against our target PHP/Laravel (2 hours) — close the open platform question.
  3. Gap analysis against Laravel native validation (half day) — enumerate anything genuinely missing.
  4. Decision gate: if gap is empty, close. If a real gap exists, scope a port rather than an install.
  5. Port spike behind tests, with side-by-side behavioral comparison against the original.
  6. Do not sequence ahead of any committed roadmap item; opportunistic at best.

Operational Impact

Maintenance — we would own everything. Still unmaintained in any meaningful sense; the v1.3.0 PR is a one-off contribution, not evidence of a release cadence, CVE response, or deprecation policy. A fork carries ownership cost disproportionate to the code volume. A pattern port is cheaper to own: it lives in our codebase, follows our conventions, and carries no external version constraint.

Support — none available. No vendor, no sustained maintainer engagement, sparse documentation (likely Japanese-language only, consistent with the phpmentors-jp origin). Any incident becomes internal archaeology. The single new contributor contact in PR #13 is not a support channel.

Scaling — neutral. A thin validation-invocation layer is CPU-bound and short-lived, with no infrastructure, queue, or persistence implications. Not a throughput bottleneck. The scaling concern is organizational: who maintains the fork, and against which (EOL) Symfony line.

Failure modes to plan for:

  • Composer resolution failure against PHP 8.1+ — less certain than before v1.3.0, but still the most likely first failure; verify rather than assume.
  • Container bootstrapping failure if someone forces installation with ignored platform requirements — surfaces at runtime, worse than install time.
  • Adopting on a Symfony 4 app and inheriting an EOL framework line by proxy — a second-order abandonment risk the release does not mitigate.
  • Behavioral drift in error messages and translation catalogs if Symfony validator semantics are partially reproduced — inconsistent validation UX across surfaces.
  • Silent divergence from Laravel's validation lifecycle (FormRequest authorization, error-bag handling) if the port is bolted on rather than integrated.
  • Future Laravel or PHP upgrades forcing re-validation of a dependency nobody is watching.

Ramp-up — shallow on the API, steep on ownership. The whole surface is learnable in hours. The real cost is the standing obligation to maintain code we did not write, with conventions we did not choose, and no support path. For a validation helper, that trade is not justified.

Recommendation: unchanged. Treat this package as a design reference, not a dependency. The v1.3.0 Symfony 3/4 support corrects the record on version constraints and slightly improves the picture for a hypothetical legacy Symfony consumer, but it does not alter the Laravel conclusion: extract the pattern, implement it in Laravel idioms, and close the vendor evaluation.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console