Skip to content

[Validator] Add docs for bridge twig validator #20836 #20863

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions bridge/twig/validation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
Validating Twig Template Syntax
===============================

The Twig Bridge provides a custom `Twig` constraint that allows validating
whether a given string contains valid Twig syntax.

This is particularly useful when template content is user-generated or
configurable, and you want to ensure it can be safely rendered by the Twig engine.

Installation
------------

This constraint is part of the `symfony/twig-bridge` package. Make sure it's installed:

.. code-block:: terminal

$ composer require symfony/twig-bridge

Usage
-----

To use the `Twig` constraint, annotate the property that should contain a valid
Twig template::

use Symfony\Bridge\Twig\Validator\Constraints\Twig;

class Template
{
#[Twig]
private string $templateCode;
}

If the template contains a syntax error, a validation error will be thrown.

Constraint Options
------------------

**message**
Customize the default error message when the template is invalid::

// ...
class Template
{
#[Twig(message: 'Your template contains a syntax error.')]
private string $templateCode;
}

**skipDeprecations**
By default, this option is set to `true`, which means Twig deprecation warnings
are ignored during validation.

If you want validation to fail when deprecated features are used in the template,
set this to `false`::

// ...
class Template
{
#[Twig(skipDeprecations: false)]
private string $templateCode;
}

This can be helpful when enforcing stricter template rules or preparing for major
Twig version upgrades.
1 change: 1 addition & 0 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ Topics
web_link
webhook
workflow
twig_bridge

Components
----------
Expand Down
9 changes: 9 additions & 0 deletions twig_bridge.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Twig Bridge
===========

This bridge integrates Symfony with the Twig templating engine.

.. toctree::
:maxdepth: 1

bridge/twig/validation
Loading