Hostname

Дата оновлення перекладу 2022-12-17

Hostname

Це обмеження гарантує, що задане значення є валідним іменем хосту (внутрішньо воно використовує опцію FILTER_VALIDATE_DOMAIN PHP-функції filter_var).

????????????? ?? ??????????? ??? ??????
???? Hostname
????????? HostnameValidator

Базове застосування

Щоб використати валідатор Hostname, застосуйте його до властивості обʼєкта, який міститиме імʼя хосту.

  • Attributes
  • YAML
  • XML
  • PHP
1
2
3
4
5
6
7
8
9
10
// src/Entity/ServerSettings.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class ServerSettings
{
    #[Assert\Hostname(message: 'Імʼя сереверу має бути валідним іменем хосту.')]
    protected $name;
}

Наступні домени верхнього рівня (TLD) зарезервовані відповідно до RFC 2606 і тому імена хостів, які їх містять, не вважаються валідними: .example, .invalid, .localhost та .test.

Дата оновлення перекладу 2022-12-20

Note

Як і в більшості інших обмежень, null та порожні рядки вважаються валідними значеннями. Це для того, щоб дозволити їм бути опціональними значеннями. Якщо значення є обовʼязковим, розповсюдженим рішенням буде комбінація цього обмеження з NotBlank.

Опції

Дата оновлення перекладу 2022-12-20

groups

тип: array | string

Визначаэ групу або групи валідації обмеження. Прочитайте більше про групи валідації.

message

тип: string за замовчуванням: This value is not a valid hostname.

Повідомлення за замовчуванням відображене, якщо значення не є валідним імʼям хосту.

Ви можете використати наступні параметри у цьому повідомленні:

???????? ????
{{ value }} ??????? (?????????) ????????
{{ label }} ??????????? ????? ???? ?????

Дата оновлення перекладу 2022-12-20

payload

тип: mixed за замовчуванням: null

Ця опція може бути використана, щоб додати довільні дані, специфічні для домену, до обмеження. Сконфігуроване корисне навантаження не використовується компонентом Validator, але його обробка повністю залежить від вас.

Наприклад, ви можете захотіти використати декілька рівнів помилок, щоб представити неуспішні обмеження по-різному у фронтенді, залежно від серйозності помилки.

requireTld

тип: boolean за замовчуванням: true

За замовчуванням, імена хостів вважаються валідними лише коли вони повністю кваліфіковані та містять свої TLD (імена доменів верхнього рівня). Наприклад, example.com є валідним, а example - ні.

Встановіть цю опцію як false, щоб не вимагати TLD в іменах хостів.

Note

Це обмеження не валідує, що задане значення TLD включено у
список офіційних доменів верхнього рівня (так як цей список постійно розширюється і його складно відстежувати).