ExpressionLanguageSyntax
Дата обновления перевода 2023-01-13
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
, чтобы позволить любые переменные.
groups
type: array
| string
It defines the validation group or groups of this constraint. Read more about validation groups.
message
тип: string
по умолчанию: Это значение должно быть валидным выражением.
Это сообщение отображается при неудачной валидации.
payload
тип: mixed
по умолчанию: null
Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.
Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.