Skip to content

Instantly share code, notes, and snippets.

@LogansUA
Last active May 23, 2018 07:58
Show Gist options
  • Save LogansUA/c2c78ace735658b6b8ecff2612c485ff to your computer and use it in GitHub Desktop.
Save LogansUA/c2c78ace735658b6b8ecff2612c485ff to your computer and use it in GitHub Desktop.
Symfony forms detailed error output

Formatted form fields error message

Example of showing field label with error message

<?php

namespace AcmeBundle\Admin\Filter;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;

class AcmeController extends Controller
{
    public function acmeAction(Request $request)
    {
        $form = $this->createForm('app.acme.form_type');
        $form->handleRequest($request);

        if ($form->isValid()) {
            ...
        } else {
            // Get all form errors including field errors
            $errors = $form->getErrors(true);

            foreach ($errors as $error) {
                // Get error field
                $origin = $error->getOrigin();

                // Get field label option
                $label = $origin->getConfig()->getOption('label');

                // Formatted output of error
                $this->addFlash('alert-error', sprintf('%s - %s', $label, $error->getMessage()));
            }

        }
        ...
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment