Url
Дата обновления перевода 2023-01-13
Url
Валидирует, что значение является валидной URL строкой.
??????????? ? | ???????? ??? ?????? |
????? | Url |
????????? | UrlValidator |
Базовое применение
- Attributes
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10
// src/Entity/Author.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Author
{
#[Assert\Url]
protected $bioUrl;
}
Это ограничение не проверяет, действительно ли существует хост заданного URL, так как информация записей DNS не надёжная. Ипользуйте PHP-функцию checkdnsrr, если вы всё равно хотите это проверить.
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
по умолчанию: Это значение не является валидным URL.
Это сообщение отображается, если URL не валиден.
Вы можете использовать следующие параметры в этом сообщении:
???????? | ???????? |
---|---|
{{ value }} |
??????? (??????????) ???????? |
{{ label }} |
??????????????? ????? ???? ????? |
- Attributes
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12
// src/Entity/Author.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Author
{
#[Assert\Url(
message: 'Url {{ value }} не является валидным url',
)]
protected $bioUrl;
}
normalizer
type: a PHP callable default: null
This option allows to define the PHP callable applied to the given value before checking if it is valid.
For example, you may want to pass the 'trim'
string to apply the
trim PHP function in order to ignore leading and trailing
whitespace during validation.
payload
тип: mixed
по умолчанию: null
Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.
Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.
protocols
тип: array
по умолчанию: array('http', 'https')
Протоколы считаются валидными для URL. Например, если вы также считаете валидными
URL типа ftp://
, переопределите массив protocols
, включив в него http
,
https
, а также ftp
.
- Attributes
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12
// src/Entity/Author.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Author
{
#[Assert\Url(
protocols: ['http', 'https', 'ftp'],
)]
protected $bioUrl;
}
relativeProtocol
тип: boolean
по умолчанию: false
Если true
, то протокол считается необязательным при валидации синтаксиса
заданного URL. Это означает, что как http://
, так и https://
валидны,
а также относительный URL, которые не содержат протокола (например, //example.com
).
- Attributes
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12
// src/Entity/Author.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Author
{
#[Assert\Url(
relativeProtocol: true,
)]
protected $bioUrl;
}