Hostname

Дата обновления перевода 2023-01-13

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: 'The server name must be a valid hostname.')]
    protected $name;
}

Следущие домены верхнего уровня (TLD) зарезервированы в соответствии с RFC 2606, и поэтому имена хостов, содержащие их, не считаются валидными: .example, .invalid, .localhost, и .test.

Note

As with most of the other constraints, null and empty strings are considered valid values. This is to allow them to be optional values. If the value is mandatory, a common solution is to combine this constraint with NotBlank.

Опции

groups

type: array | string

It defines the validation group or groups of this constraint. Read more about validation groups.

message

тип: string по умолчанию: Это значение не является валидным именем хоста.

Сообщение по умолчанию отображаемое в случае, если значение не является валидным именем хоста.

Вы можете использовать следующие параметры в этом сообщении:

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

payload

тип: mixed по умолчанию: null

Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.

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

requireTld

тип: boolean по умолчанию: true

По умолчанию, имена хостов считаются валидными только тогда, когда они полностью квалифицированы и включают в себя их TLD (имена доменов верхнего уровня). Например, example.com валидно, а example - нет.

Устаовите эту опцию как false, чтобы не требовать TLD в именах хостов.

Note

Это ограничение не валидирует, что заданное значение TLD включено в the список доменов верхнего уровня (так как этот список постоянно растет и за ним тяжело уследить).