ExpressionSyntax

Дата обновления перевода 2024-07-25

ExpressionSyntax

Это ограничение проверяет, чтобы значение было валидным выражением ExpressionLanguage.

??????????? ? ???????? ??? ??????
????? ExpressionSyntax
????????? ExpressionSyntaxValidator

Базовое использование

Следующие ограничения гарантируют, что:

  • свойство promotion хранит значение, валидное как выражение ExpressionLanguage;
  • свойство shippingOptions также гарантирует, что выражение использует только определённые переменные.
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;
}

Опции

allowedVariables

тип: array или null по умолчанию: null

Если эта опция определена, выражение может использовать только переменные, чьи имена включены в эту опцию. Не устанавливайте эту опцию или установите ее значение как null, чтобы разрешить любые переменные.

groups

type: array | string default: null

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

message

тип: string по умолчанию: Это значение должно быть валидным выражением.

Это сообщение, отображённое, если валидация неуспешна.

Дата обновления перевода 2024-07-25

payload

тип: mixed по умолчанию: null

Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.

Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.