Repository navigation
Add CSS color validation with selectable formats - #123
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds CSS color validation via
it.IsCSSColor,validate.CSSColor, andis.CSSColor. With no format arguments, all 12 Symfony 8.0 categories are accepted; callers can restrict input, for example withit.IsCSSColor(validate.CSSColorRGB, validate.CSSColorRGBA).Supports 3/4/6/8-digit hex, basic/extended names, system colors, transparent/currentColor, and legacy RGB/RGBA/HSL/HSLA functions. Patterns preserve Symfony's case, numeric-range, alpha, and whitespace rules. README explicitly documents unsupported modern CSS syntax and keywords. Unknown formats produce configuration errors, including in mixed selections (stricter than Symfony); nil/empty input is otherwise skipped.
Includes custom errors/messages, groups and conditional validation, generic This/Each support, English/Russian translations, examples, and an Unreleased changelog entry. No new dependencies.
Validation:
bash scripts/test-all.shpassed (formatting, vet, golangci-lint v2.13.2, unit and race tests, module tidy and verification). Tests cover each format, cross-format rejection, RGB/HSL boundaries, alpha syntax, ASCII case handling, whitespace, malformed input, format selection, caller slice isolation, messages, and translations.Closes #107.