Timezone
Дата оновлення перекладу 2023-09-25
Timezone
Валідує, що значення є валідним ідентифікатором часового поясу (наприклад,
Europe/Paris
).
????????????? ?? | ??????????? ??? ?????? |
???? | Timezone |
????????? | TimezoneValidator |
Базове застосування
Уявіть, що у вас є клас UserSettings
з полем timezone
, яке є рядком, що містить
будь-який з ідентифікаторів часових поясів PHP (наприклад, America/New_York
):
1 2 3 4 5 6 7 8 9 10
// src/Entity/UserSettings.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class UserSettings
{
#[Assert\Timezone]
protected string $timezone;
}
Дата оновлення перекладу 2022-12-20
Note
Як і в більшості інших обмежень, null
та порожні рядки вважаються валідними
значеннями. Це для того, щоб дозволити їм бути опціональними значеннями. Якщо
значення є обовʼязковим, розповсюдженим рішенням буде комбінація цього обмеження
з NotBlank.
Опції
countryCode
тип: string
за замовчуванням: null
Якщо опція zone
встановлена як \DateTimeZone::PER_COUNTRY
, ця опція обмежує
валідні ідентифікатори часових поясів до тих, що належать заданій країні.
Значення цієї опції має бути валідним кодом країни ISO 3166-1 alpha-2 (наприклад,
CN
для Китаю).
Дата оновлення перекладу 2023-09-24
groups
тип: array
| string
за замовчуванням: null
Визначає групу або групи валідації обмеження. Прочитайте більше про групи валідації.
intlCompatible
тип: boolean
за замовчуванням: false
Це обмеження вважає валідними як ідентифікатори часових поясів PHP, так і часові пояси ICU , надані компонентом Symfony Intl
Однак, часові пояси, надані компонентом Intl, можуть відрізнятися від часових поясів,
наданих PHP-розширенням Intl (так як вони використовують різні версії ICU). Якщо ця
опція встановлена як true
, це обмеження вважає валідними лише знчення, сумісні з
методом PHP \IntlTimeZone::createTimeZone()
.
message
type: string
за замовчуванням: Це значення не є валідним часовим поясом.
Це повідомлення відображається, якщо вихідні дані не є валідним ідентифікатором часового поясу.
Ви можете використати наступні параметри у цьому повідомленні:
???????? | ???? |
---|---|
{{ value }} |
??????? (?????????) ???????? |
{{ label }} |
??????????? ????? ???? ????? |
Дата оновлення перекладу 2024-05-29
payload
тип: mixed
за замовчуванням: null
Ця опція може бути використана, щоб додати довільні дані, специфічні для домену, до обмеження. Сконфігуроване корисне навантаження не використовується компонентом Validator, але його обробка повністю залежить від вас.
Наприклад, ви можете захотіти використати декілька рівнів помилок, щоб представити неуспішні обмеження по-різному у фронтенді, залежно від серйозності помилки.
zone
тип: string
за замовчуванням: \DateTimeZone::ALL
Встановіть цю опцію у будь-якій з наступних констант, щоб обмежити валідні ідентифікатори часових поясів лише до тих, що належать цій географічній зоні:
\DateTimeZone::AFRICA
\DateTimeZone::AMERICA
\DateTimeZone::ANTARCTICA
\DateTimeZone::ARCTIC
\DateTimeZone::ASIA
\DateTimeZone::ATLANTIC
\DateTimeZone::AUSTRALIA
\DateTimeZone::EUROPE
\DateTimeZone::INDIAN
\DateTimeZone::PACIFIC
На додаток, існують деякі спеціальні значення поясів:
\DateTimeZone::ALL
приймає будь-який часовий пояс, виключаючи застарілі часові пояси;\DateTimeZone::ALL_WITH_BC
приймає будь-який часовий пояс, включно із застарілими часовими поясами;\DateTimeZone::PER_COUNTRY
обмежує валідні часові пояси до певної країни (що визначається з використанням опціїcountryCode
).