8000 feature #4168 [Components][Form] describe how to access form errors (… · symfony/symfony-docs@5849f7f · GitHub
[go: up one dir, main page]

Skip to content

Commit 5849f7f

Browse files
committed
feature #4168 [Components][Form] describe how to access form errors (xabbuh)
This PR was merged into the 2.3 branch. Discussion ---------- [Components][Form] describe how to access form errors | Q | A | ------------- | --- | Doc fix? | yes | New docs? | no | Applies to | all | Fixed tickets | The ``getErrors()`` and ``getErrorsAsString()`` methods haven't been documented before. This pull request adds a short description for them. This forms as basis for the solution of #3660. Commits ------- 5deccd2 describe how to access form errors
2 parents c10e9c1 + 5deccd2 commit 5849f7f

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

components/form/introduction.rst

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -660,6 +660,33 @@ and the errors will display next to the fields on error.
660660
For a list of all of the built-in validation constraints, see
661661
:doc:`/reference/constraints`.
662662

663+
Accessing Form Errors
664+
~~~~~~~~~~~~~~~~~~~~~
665+
666+
You can use the :method:`Symfony\\Component\\Form\\FormInterface::getErrors`
667+
method to access the list of errors. Each element is a :class:`Symfony\\Component\\Form\\FormError`
668+
object::
669+
670+
$form = ...;
671+
672+
// ...
673+
674+
// an array of FormError objects, but only errors attached to this form level (e.g. "global errors)
675+
$errors = $form->getErrors();
676+
677+
// an array of FormError objects, but only errors attached to the "firstName" field
678+
$errors = $form['firstName']->getErrors();
679+
680+
// a string representation of all errors of the whole form tree
681+
$errors = $form->getErrorsAsString();
682+
683+
.. note::
684+
685+
If you enable the :ref:`error_bubbling <reference-form-option-error-bubbling>`
686+
option on a field, calling ``getErrors()`` on the parent form will include
687+
errors from that field. However, there is no way to determine which field
688+
an error was originally attached to.
689+
663690
.. _Packagist: https://packagist.org/packages/symfony/form
664691
.. _Twig: http://twig.sensiolabs.org
665692
.. _`Twig Configuration`: http://twig.sensiolabs.org/doc/intro.html

reference/forms/types/form.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ The actual default value of this option depends on other field options:
7878
.. include:: /reference/forms/types/options/empty_data.rst.inc
7979
:start-after: DEFAULT_PLACEHOLDER
8080

81+
.. _reference-form-option-error-bubbling:
82+
8183
.. include:: /reference/forms/types/options/error_bubbling.rst.inc
8284

8385
.. include:: /reference/forms/types/options/error_mapping.rst.inc

0 commit comments

Comments
 (0)
0