CssColor

Дата оновлення перекладу 2023-09-25

CssColor

Валідує, що значення є валідним кольором CSS. Вихідне дані значення перетворюється на рядок перед валідацією.

?????????????? ?? ??????????? ??? ??????
???? CssColor
????????? CssColorValidator

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

У наступному прикладі, значення $defaultColor має бути CSS кольором, визначеним у будь-якому з валідних форматів CSS (наприклад, red, #369, hsla(0, 0%, 20%, 0.4)); $accentColor має бути кольором CSS, визначеним у шістнадцятковому форматі; а $currentColor має бути кольором CSS, визначеним у будь-якому іменованому кольорі CSS:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// src/Entity/Bulb.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Bulb
{
    #[Assert\CssColor]
    protected string $defaultColor;

    #[Assert\CssColor(
        formats: Assert\CssColor::HEX_LONG,
        message: 'The accent color must be a 6-character hexadecimal color.',
    )]
    protected string $accentColor;

    #[Assert\CssColor(
        formats: [Assert\CssColor::BASIC_NAMED_COLORS, Assert\CssColor::EXTENDED_NAMED_COLORS],
        message: 'The color '{{ value }}' is not a valid CSS color name.',
    )]
    protected string $currentColor;
}

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

Note

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

Опції

Дата оновлення перекладу 2023-09-24

groups

тип: array | string за замовчуванням: null

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

message

тип: string за замовчуванням: Це значення не є валідним кольором CSS.

Це повідомлення відображується, якщо вихідні дані не є валідним кольором CSS color.

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

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

formats

тип: string | array

За замовчуванням, це обмеження вважає валідним будь-який з багатьох способів визначення кольорів CSS. Використайте опцію formats, щоб обмежити, які формати CSS дозволено. Ось доступні формати (які також визначені як PHP-константи, наприклад, Assert\CssColor::HEX_LONG):

  • hex_long
  • hex_long_with_alpha
  • hex_short
  • hex_short_with_alpha
  • basic_named_colors
  • extended_named_colors
  • system_colors
  • keywords
  • rgb
  • rgba
  • hsl
  • hsla

hex_long

Регулярний вираз. Дозволяє всі значення, які представляють колір CSS з 6 символів (на додаток до початкового #) та містяться у діапазоні: від 0 до 9 та від A до F (нечутливі до регістру).

Приклади: #2F2F2F, #2f2f2f

hex_long_with_alpha

Регулярний вираз. Дозволяє всі значення, які представляють колір CSS з альфа частиною з 8 символів (на додаток до початковго #) та містяться у діапазоні: від 0 до 9 та від A до F (нечутливі до регістру).

Приклади: #2F2F2F80, #2f2f2f80

hex_short

Регулярний вираз. Дозволяє всі значення, які представляють колір CSS суворо з 3 символів (на додаток до початкового #) та містяться у діапазоні: від 0 до 9 та від A до F (нечутливі до регістру).

Приклади: #CCC, #ccc

hex_short_with_alpha

Регулярний вираз. Дозволяє всі значення, які представляють колір CSS з альфа частиною суворо з 4 символів (на додаток до початковго #) та містяться у діапазоні: від 0 до 9 та від A до F (нечутливі до регістру).

Приклади: #CCC8, #ccc8

basic_named_colors

Будь-які валідні імена кольорів, визначені у Списку базових іменованих кольорів W3C (нечутливі до регістру).

Приклади: black, red, green

extended_named_colors

Будь-які валідні імена кольорів, визначені у Розширеному списку іменованих кольорів W3C (нечутливі до регістру).

Приклади: aqua, brown, chocolate

system_colors

Будь-які валідні імена кольорів, визначені у Списку системних кольорів CSS WG (нечутливі до регістру).

Приклади: LinkText, VisitedText, ActiveText, ButtonFace, ButtonText

keywords

Будь-які валідні ключові слова, визначені у Списку ключових слів CSS WG (нечутливі до регістру).

Приклади: transparent, currentColor

rgb

Регулярний вираз. Дозволяє всі значення, які представляють колір CSS, який дотримується нотації RGB, з або без пробілів між значеннями.

Приклади: rgb(255, 255, 255), rgb(255,255,255)

rgba

Регулярний вираз. Дозволяє всі значення, які представляють колір CSS з альфа частиною, яка дотримується нотації RGB, з або без пробілів між значеннями.

Приклади: rgba(255, 255, 255, 0.3), rgba(255,255,255,0.3)

hsl

Регулярний вираз. Дозволяє всі значення, які представляють колір CSS, який дотримується нотації HSL, з або без пробілів між значеннями.

Приклади: hsl(0, 0%, 20%), hsl(0,0%,20%)

hsla

Регулярний вираз. Дозволяє всі значення, які представляють колір CSS з альфа частиною, яка дотримуєваться нотації HSLA, з або без пробілів між значеннями.

Приклади: hsla(0, 0%, 20%, 0.4), hsla(0,0%,20%,0.4)

Дата оновлення перекладу 2024-05-29

payload

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

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

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