Skip to content

ExpressionSyntax

Warning: You are browsing the documentation for Symfony 6.3, which is no longer maintained.

Read the updated version of this page for Symfony 7.1 (the current stable version).

This constraint checks that the value is valid as an ExpressionLanguage expression.

6.1

This constraint was introduced in Symfony 6.1 and deprecates the previous ExpressionLanguageSyntax constraint.

Basic Usage

The following constraints ensure that:

  • the promotion property stores a value which is valid as an ExpressionLanguage expression;
  • the shippingOptions property also ensures that the expression only uses certain variables.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// src/Entity/Order.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Order
{
    #[Assert\ExpressionSyntax]
    protected string $promotion;

    #[Assert\ExpressionSyntax(
        allowedVariables: ['user', 'shipping_centers'],
    )]
    protected string $shippingOptions;
}

Options

allowedVariables

type: array or null default: null

If this option is defined, the expression can only use the variables whose names are included in this option. Unset this option or set its value to null to allow any variables.

groups

type: array | string default: null

It defines the validation group or groups of this constraint. Read more about validation groups.

message

type: string default: This value should be a valid expression.

This is the message displayed when the validation fails.

payload

type: mixed default: null

This option can be used to attach arbitrary domain-specific data to a constraint. The configured payload is not used by the Validator component, but its processing is completely up to you.

For example, you may want to use several error levels to present failed constraints differently in the front-end depending on the severity of the error.

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