CssColor
Дата обновления перевода 2025-07-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;
}
Дата обновления перевода 2025-02-21
Note
Как и в большинстве других ограничений, null и пустые строки считаются валидными
значениями. Это для того, чтобы позволить им быть опциональными значениями. Если
значение является обязательным, распространенным решением будет комбинация этого ограничения
с NotBlank.
Опции
Дата обновления перевода 2023-09-24
groups
тип: array | string по умолчанию: null
Определяет группу или группы валидации ограничений. Прочитайте больше о группах валидации.
message
тип: string по умолчанию: Это значение не является валидным цветом CSS.
Это сообщение отображается, если основоположные данные не являются валидным цветом CSS.
Вы можете использовать следующие параметы в этом сообщении:
| ???????? | ???????? |
|---|---|
{{ value }} |
??????? (??????????) ???????? |
formats
тип: string | array
По умолчанию, это ограничение считает валидным любой из множества способов определения
цветов CSS. Используйте опцию formats, чтобы ограничить, какие форматы CSS разрешены.
Вот доступные форматы (которые также определены как PHP-константы; например,
Assert\CssColor::HEX_LONG):
hex_longhex_long_with_alphahex_shorthex_short_with_alphabasic_named_colorsextended_named_colorssystem_colorskeywordsrgbrgbahslhsla
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)
Дата обновления перевода 2025-07-27
payload
тип: mixed по умолчанию: null
Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.
Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.