LessThan
Дата обновления перевода 2023-09-25
LessThan
Валидирует, что значение меньше, чем другое значение, определённое в опциях. Чтобы гарантировать, что значение меньше чем, либо равно другому значению, см. LessThanOrEqual. Чтобы гарантровать, что значение больше, чем другое значение, см. GreaterThan.
??????????? ? | ???????? ??? ?????? |
????? | LessThan |
????????? | LessThanValidator |
Базовое применение
Следующие ограничения гарантируют, что:
- количество
siblings
вPerson
меньше, чем5
age
меньше, чем80
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\LessThan(5)]
protected int $siblings;
#[Assert\LessThan(
value: 80,
)]
protected int $age;
}
Сравнение дат
Это ограничение может быть использовано, чтобы сравнивать объекты DateTime
с любой строкой даты, принятой конструктором DateTime. Например, вы можете
проверить, чтобы дата была в прошлом таким образом:
1 2 3 4 5 6 7 8 9 10
// src/Entity/Person.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Person
{
#[Assert\LessThan('today')]
protected \DateTimeInterface $dateOfBirth;
}
Помните, что PHP будет использовать часовой пояс, сконфигурированный сервером, чтобы интерпретировать эти даты. Если вы хотите изменить часовой пояс, добавьте его в начале строки даты:
1 2 3 4 5 6 7 8 9 10
// src/Entity/Person.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Person
{
#[Assert\LessThan('today UTC')]
protected \DateTimeInterface $dateOfBirth;
}
Класс DateTime
также принимает относительные даты и время. Например, вы можете
проверить, чтобы возраст человека был как минимум 18 лет, таким образом:
1 2 3 4 5 6 7 8 9 10
// src/Entity/Person.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Person
{
#[Assert\LessThan('-18 years')]
protected \DateTimeInterface $dateOfBirth;
}
Опции
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
[опция по умолчанию ]
Эта опция обязательна. Она определяет значеие для сравнения. Это может быть строка, число или объект.