ExpressionLanguageSyntax
Дата обновления перевода 2024-07-25
ExpressionLanguageSyntax
6.1
Это ограничение устарело, начиная с Symfony 6.1. Вместо этого, используйте ограничение ExpressionSyntax.
Это ограничение проверяет, чтобы значение было валидным, как выражение ExpressionLanguage.
??????????? ? | ???????? ??? ?????? |
????? | ExpressionLanguageSyntax |
????????? | ExpressionLanguageSyntaxValidator |
Базовое использование
Следующие ограничения гарантируют, что:
- свойство
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\ExpressionLanguageSyntax]
protected string $promotion;
#[Assert\ExpressionLanguageSyntax(
allowedVariables: ['user', 'shipping_centers'],
)]
protected string $shippingOptions;
}
Опции
allowedVariables
тип: array
или null
по умолчанию: null
Если эта опция определены, выражение может использовать только переменные, имена
которых включены в эту опцию. Отмените настройку этой опции, или установите ее значение
как null
, чтобы позволить любые переменные.
Дата обновления перевода 2023-09-24
groups
тип: array
| string
по умолчанию: null
Определяет группу или группы валидации ограничений. Прочитайте больше о группах валидации.
message
тип: string
по умолчанию: Это значение должно быть валидным выражением.
Это сообщение отображается при неудачной валидации.
Дата обновления перевода 2025-02-05
payload
тип: mixed
по умолчанию: null
Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.
Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.