ExpressionLanguageSyntax

Дата оновлення перекладу 2022-11-17

ExpressionLanguageSyntax

6.1

Це обмеження застаріло в Symfony 6.1. Натомість, використовуйте обмеження ExpressionSyntax.

Це обмеження перевіряє, що значення є валідним виразом ExpressionLanguage.

?????????????? ?? ??????????? ??? ??????
???? ExpressionLanguageSyntax
????????? ExpressionLanguageSyntaxValidator

Базове застосування

Наступні обмеження гарантують, що:

  • властивість promotion зберігає значення, яке є валідним виразом ExpressionLanguage;
  • властивість shippingOptions також гарантує, що вираз використовує тільки певні змінні.
  • Attributes
  • YAML
  • XML
  • 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\ExpressionLanguageSyntax]
    protected $promotion;

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

Опції

allowedVariables

тип: array або null за замовчуванням: null

Якщо ця опція визначена, вираз може використовувати тільки змінні, чиї імена включено у цю опцію. Вимкніть цю опцію, або встановіть її значення як null, щоб дозволити будь-які змінні.

Дата оновлення перекладу 2022-12-20

groups

тип: array | string

Визначаэ групу або групи валідації обмеження. Прочитайте більше про групи валідації.

message

тип: string за замовчуванням: Це значення має бути валідним виразом.

Це повідомлення, відображуване, якщо валідація зазнає невдачі.

Дата оновлення перекладу 2022-12-20

payload

тип: mixed за замовчуванням: null

Ця опція може бути використана, щоб додати довільні дані, специфічні для домену, до обмеження. Сконфігуроване корисне навантаження не використовується компонентом Validator, але його обробка повністю залежить від вас.

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