ex3v/formerrorsbundle
FormErrorsBundle for Symfony exports all form errors, including field and subform labels, to an array and provides a Twig extension to render them as a customizable list. Avoid boilerplate parsers and display complete validation errors in templates with all_form_errors(form).
$form->getErrors() returns only errors bound to the root form, not to individual fields or nested subforms, and getErrorsAsString() omits field labels. The package flattens the full error tree into an array and exposes it via a Twig extension, so a single template loop can render a complete, human-readable error summary (including labels) at the top of a form. That is a legitimate design decision: consolidated error summary vs. per-field inline errors.Ex3v\FormErrorsBundle), not a Laravel package. For a Laravel roadmap item, treat it as prior art only: Laravel already ships ValidationException, the $errors MessageBag, and the @error directive, which cover the single-level case. The only overlap is nested/array validation error flattening with human labels, which is a small custom helper in app/Support — not a Composer dependency.Consider it only when all of the following hold:
Look elsewhere (or build in-house) when:
MessageBag/$errors and a small flattener for nested arrays.FormErrorIterator, getErrors(true), and modern Twig form theming make this redundant and the bundle likely uninstallable.To executives (30 seconds): There is a tiny open-source helper that solves a narrow presentation problem — showing every validation error on a form, with field labels, in one list. It is MIT-licensed and free, but it is a Symfony 2-era bundle with a single-digit user base, no downstream dependents, and an author who explicitly disclaims support for other framework versions. Recommendation: do not add it as a dependency. The functionality it provides is small enough to implement in-house in under a day, and doing so removes a maintenance and audit liability. Its main value to us is as a design reference for how to flatten nested form errors into a labelled, accessible error summary.
To engineering: This is not a Laravel package — it’s Ex3v\FormErrorsBundle for Symfony 2.3. It does two things: a service that recursively exports all form errors (root + fields + subforms) to an array, and a Twig extension that renders them as a list with labels. That solves a real gap in old Symfony (getErrors() is root-only; getErrorsAsString() drops labels). On our stack, the equivalent is a ~50-line recursive flattener over Laravel’s MessageBag / nested validation errors, plus a Blade partial — testable, no supply-chain surface, and we own the label mapping and localization. If we later build an accessible "error summary" component, use this repo’s output shape as a starting spec: label => [messages], recursively, deduplicated at the root.
Bottom line for the decision log: Note as prior art; do not adopt. Revisit only if we inherit a Symfony 2.3 codebase that already depends on it.
How can I help you explore Laravel packages today?