Hostname
Дата обновления перевода 2023-09-25
Hostname
Это ограничение гарантирует, что заданное значение является валидным именем хоста
(внутренне, оно использует опцию FILTER_VALIDATE_DOMAIN
PHP-функции filter_var).
??????????? ? | ???????? ??? ?????? |
????? | Hostname |
????????? | HostnameValidator |
Базовое использование
Чтобы использовать валидатор Hostname, примените его к свойству объекта, которое будет содержать имя хоста.
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 string $name;
}
Следущие домены верхнего уровня (TLD) зарезервированы в соответствии с RFC 2606,
и поэтому имена хостов, содержащие их, не считаются валидными: .example
,
.invalid
, .localhost
, и .test
.
Дата обновления перевода 2025-02-21
Note
Как и в большинстве других ограничений, null
и пустые строки считаются валидными
значениями. Это для того, чтобы позволить им быть опциональными значениями. Если
значение является обязательным, распространенным решением будет комбинация этого ограничения
с NotBlank.
Опции
Дата обновления перевода 2023-09-24
groups
тип: array
| string
по умолчанию: null
Определяет группу или группы валидации ограничений. Прочитайте больше о группах валидации.
message
тип: string
по умолчанию: Это значение не является валидным именем хоста.
Сообщение по умолчанию отображаемое в случае, если значение не является валидным именем хоста.
Вы можете использовать следующие параметры в этом сообщении:
???????? | ???????? |
---|---|
{{ value }} |
??????? (??????????) ???????? |
{{ label }} |
??????????????? ????? ???? ????? |
Дата обновления перевода 2025-02-05
payload
тип: mixed
по умолчанию: null
Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.
Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.
requireTld
тип: boolean
по умолчанию: true
По умолчанию, имена хостов считаются валидными только тогда, когда они полностью
квалифицированы и включают в себя их TLD (имена доменов верхнего уровня). Например,
example.com
валидно, а example
- нет.
Устаовите эту опцию как false
, чтобы не требовать TLD в именах хостов.
Note
Это ограничение не валидирует, что заданное значение TLD включено в the список доменов верхнего уровня (так как этот список постоянно растет и за ним тяжело уследить).