Url

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

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, якщо ви все ще хочете це перевірити.

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

Note

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

Опції

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

groups

тип: array | string

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

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;
}

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

normalizer

тип: PHP-викличне за замовчуванням: null

Ця опція дозволяє вам визначати PHP-викличне, застосоване до заданого значення до перевірки, чи є воно валідним.

Наприклад, ви можете захотіти передати рядок 'trim' для застосування PHP-функції trim, щоб ігнорувати початкові та замикаючі пробіли під час валідації.

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

payload

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

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

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

protocols

тип: 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;
}