ExpressionSyntax

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

この制約は、値が ExpressionLanguageexpression として有効であることを確認します。

6.1

6.1

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

この制約は Symfony 6.1 で導入され、以前の ExpressionLanguageSyntax 制約を廃止します。

Basic Usage

The following constraints ensure that:

次の制約により、次のことが保証されます。
  • the promotion property stores a value which is valid as an ExpressionLanguage expression;
    プロモーション プロパティは、ExpressionLanguage 式として有効な値を格納します。
  • the shippingOptions property also ensures that the expression only uses certain variables.
    shippingOptions プロパティは、式が特定の変数のみを使用することも保証します。
  • Attributes
    属性
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
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 $promotion;

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

Options

allowedVariables

type: array or null default: null

タイプ: 配列または null デフォルト: 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.

このオプションが定義されている場合、式は、このオプションに名前が含まれている変数のみを使用できます。このオプションを設定解除するか、その値を null に設定して、すべての変数を許可します。

groups

type: array | string

タイプ: 配列 |ストリング

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

タイプ: 混合 デフォルト: 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.

このオプションは、任意のドメイン固有のデータを制約に添付するために使用できます。構成されたペイロードは Validator コンポーネントによって使用されませんが、その処理は完全にユーザー次第です。

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.

たとえば、いくつかのエラー レベルを使用して、エラーの重大度に応じて、失敗した制約をフロントエンドで異なる方法で提示することができます。