Skip to content

Twig Constraint

Edit this page

7.3

The Twig constraint was introduced in Symfony 7.3.

Validates that 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 rendered by the Twig engine.

Note

Using this constraint requires having the symfony/twig-bridge package installed in your application (e.g. by running composer require symfony/twig-bridge).

Applies to property or method
Class Twig
Validator TwigValidator

Basic Usage

Apply the Twig constraint to validate the contents of any property or the returned value of any method:

use SymfonyBridgeTwigValidatorConstraintsTwig;

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

1
2
3
4
5
6
7
8
9
10
// src/Entity/Page.php
namespace App\Entity;

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

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

Constraint Options

message

type: message default: This value is not a valid Twig template.

This is the message displayed when the given string does not contain valid Twig syntax:

1
2
3
4
5
6
7
// ...

class Page
{
    #[Twig(message: 'Check this Twig code; it contains errors.')]
    private string $templateCode;
}

This message has no parameters.

skipDeprecations

type: boolean default: true

If true, Twig deprecation warnings are ignored during validation. Set it to false to trigger validation errors when the given Twig code contains any deprecations:

1
2
3
4
5
6
7
// ...

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

This can be helpful when enforcing stricter template rules or preparing for major Twig version upgrades.

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.
TOC
    Version