GreaterThan
Дата обновления перевода 2023-09-25
GreaterThan
Валидирует, что значение больше, чем другое значение, определённое в опциях. Чтобы гарантировать, что значение больше чем, либо равно другому значению, см. GreaterThanOrEqual. Чтобы гарантровать, что значение меньше, чем другое значение, см. LessThan.
??????????? ? | ???????? ??? ?????? |
????? | GreaterThan |
????????? | GreaterThanValidator |
Базовое применение
Следующие ограничения гарантируют, что:
- количество
siblings
вPerson
больше, чем5
age
классаPerson
больше, чем18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// src/Entity/Person.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Person
{
#[Assert\GreaterThan(5)]
protected int $siblings;
#[Assert\GreaterThan(
value: 18,
)]
protected int $age;
}
Сравнение дат
Это ограничение может быть использовано, чтобы сравнивать объекты DateTime
с любой строкой даты, принятой конструктором DateTime. Например, вы можете
проверить, чтобы дата была как минимум следующим от текущего днём:
1 2 3 4 5 6 7 8 9 10
// src/Entity/Order.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Order
{
#[Assert\GreaterThan('today')]
protected \DateTimeInterface $deliveryDate;
}
Помните, что PHP будет использовать часовой пояс, сконфигурированный сервером, чтобы интерпретировать эти даты. Если вы хотите изменить часовой пояс, добавьте его в начале строки даты:
1 2 3 4 5 6 7 8 9 10
// src/Entity/Order.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Order
{
#[Assert\GreaterThan('today UTC')]
protected \DateTimeInterface $deliveryDate;
}
Класс DateTime
также принимает относительные даты и время. Например, вы
можете проверить, чтобы вышенаписанная дата доставки была как минимум на 5
часов позже текущего времени:
1 2 3 4 5 6 7 8 9 10
// src/Entity/Order.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Order
{
#[Assert\GreaterThan('+5 hours')]
protected \DateTimeInterface $deliveryDate;
}
Опции
value
тип: mixed
[опция по умолчанию ]
Эта опция обязательна. Она определяет значеие для сравнения. Это может быть строка, число или объект.
message
тип: string
по умолчанию: Это значение должно быть больше, чем {{ compared_value }}.
Это сообщение будет отображено, если значение не больше, чем сраниваемое значение.
Вы можете использовать следующие параметры в этом сообщении:
???????? | ???????? |
---|---|
{{ compared_value }} |
?????? ????? |
{{ compared_value_type }} |
????????? ??? ???????? |
{{ value }} |
??????? (??????????) ???????? |
Дата обновления перевода 2024-07-25
payload
тип: mixed
по умолчанию: null
Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.
Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.
Дата обновления перевода 2023-09-24
propertyPath
тип: string
по умолчанию: null
Определяет свойство объекта, значение которого используется, чтобы провести сравнение.
Например, если вы хотите сравнить свойство $endDate
некоторого объекта касательно
свойства $startDate
того же объекта, используйте propertyPath="startDate"
в
ограничении сравнения $endDate
.
value
тип: mixed
[опция по умолчанию ]
Эта опция обязательна. Она определяет значеие для сравнения. Это может быть строка, число или объект.