CssColor

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

CssColor

Валидирует, что значение является валидным цветом CSS. Основоположное значение преобразуется в строку перед валидацией.

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

Базовое использование

В следующем примере, значение $defaultColor должно быть цветом CSS, определённым в любом из валидных форматов CSS (например, red, #369, hsla(0, 0%, 20%, 0.4)); $accentColor должен быть цветом CSS, определённом в шестнадцатиричном формате; а $currentColor должен быть цветом CSS, определённым, как любой из именованных цветов CSS:

  • Attributes
  • YAML
  • XML
  • PHP
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 $defaultColor;

    #[Assert\CssColor(
        formats: Assert\CssColor::HEX_LONG,
        message: 'Акцентный цвет должен быть 6-знаковым шестнадцатеричным цветом.',
    )]
    protected $accentColor;

    #[Assert\CssColor(
        formats: [Assert\CssColor::BASIC_NAMED_COLORS, Assert\CssColor::EXTENDED_NAMED_COLORS],
        message: 'Цвет '{{ value }}' не является валидным именем цвета CSS.',
    )]
    protected $currentColor;
}

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 по умолчанию: Это значение не является валидным цветом CSS.

Это сообщение отображается, если основоположные данные не являются валидным цветом CSS.

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

???????? ????????
{{ 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

A regular expression. Allows all values which represent a CSS color following the RGB notation, with or without space between values.

Примеры: rgb(255, 255, 255), rgb(255,255,255)

rgba

A regular expression. Allows all values which represent a CSS color with alpha part following the RGB notation, with or without space between values.

Примеры: 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)

payload

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

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

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