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;
}
Опції
Дата оновлення перекладу 2023-09-24
groups
тип: array
| string
за замовчуванням: null
Визначає групу або групи валідації обмеження. Прочитайте більше про групи валідації.
message
тип: string
за замовчуванням: Це значення має бути більшим за {{ compared_value }}.
Це повідомлення, яке буде відображено, якщо значення не є більшим за значення порівняння.
Ви можете використати наступні параметри у цьому повідомленні:
???????? | ???? |
---|---|
{{ compared_value }} |
????? ???? |
{{ compared_value_type }} |
?????????? ??? ???????? |
{{ value }} |
??????? (?????????) ???????? |
Дата оновлення перекладу 2024-05-29
payload
тип: mixed
за замовчуванням: null
Ця опція може бути використана, щоб додати довільні дані, специфічні для домену, до обмеження. Сконфігуроване корисне навантаження не використовується компонентом Validator, але його обробка повністю залежить від вас.
Наприклад, ви можете захотіти використати декілька рівнів помилок, щоб представити неуспішні обмеження по-різному у фронтенді, залежно від серйозності помилки.
Дата оновлення перекладу 2023-09-25
propertyPath
тип: string
за замовчуванням: null
Визначає властивість обʼєкта, чиє значення використовується для проведенння порівняння.
Наприклад, якщо ви хочете порівняти властивість $endDate
якихось обʼєктів
із властивістю $startDate
того ж обʼєкта, використайте propertyPath="startDate"
в обмеженні порівняння $endDate
.
Tip
При використанні цієї опції, її значення доступне у повідомленнях помилки
як заповнювач {{ compared_value_path }}
. Хоча воно не призначено для
відображення у повідомленнях помилок кінцевим користувачам, це корисно при
використанні API для логіки мапування на клієнтській стороні.
Дата оновлення перекладу 2022-12-20
value
тип: mixed
[опція за замовчуванням ]
Ця опція обовʼязкова. Вона визначає значення порівняння. Вона може бути рядком, числом або обʼєктом.