respect-validation/docs/validators/CountryCode.md
Henrique Moody 7db3bea8a6
Enhance LintSpdxCommand with contributor tracking and header normalization
Improves SPDX header linting to ensure consistent license metadata across
the codebase.

Key changes:

- Enforce deterministic tag ordering (License-Identifier, FileCopyrightText,
  FileContributor) to ensure consistency, prevent merge conflicts, and
  simplify code reviews

- Add contributor alias mapping to consolidate contributors with multiple
  emails or name variations (e.g., "nickl-" → "Nick Lombard")

- Add --contributions-strategy option with "blame" (current code authors)
  and "log" (all historical contributors) to support different attribution
  philosophies

- Add optional path argument to lint specific files or directories

- Add --fix option to automatically correct header issues

Assisted-by: Claude Code (claude-opus-4-5-20251101)
2026-02-03 15:23:20 +01:00

2.3 KiB

CountryCode

  • CountryCode()
  • CountryCode("alpha-2"|"alpha-3"|"numeric" $set)

Validates whether the input is a country code in ISO 3166-1 standard.

This validator requires sokil/php-isocodes and sokil/php-isocodes-db-only to be installed.

v::countryCode()->assert('BR');
// Validation passes successfully

v::countryCode('alpha-2')->assert('NL');
// Validation passes successfully

v::countryCode('alpha-3')->assert('USA');
// Validation passes successfully

v::countryCode('numeric')->assert('504');
// Validation passes successfully

This validator supports the three sets of country codes:

  • ISO 3166-1 alpha-2: alpha-2
  • ISO 3166-1 alpha-3: alpha-3
  • ISO 3166-1 numeric: numeric

When no set is defined, the validator uses 'alpha-2' (CountryCode::ALPHA2).

Templates

CountryCode::TEMPLATE_STANDARD

Mode Template
default {{subject}} must be a valid country code
inverted {{subject}} must not be a valid country code

Template placeholders

Placeholder Description
subject The validated input or the custom validator name (if specified).

Categorization

  • ISO codes
  • Localization

Changelog

Version Description
3.0.0 Require sokil/php-isocodes and sokil/php-isocodes-db-only
2.0.0 Became case-sensitive
0.5.0 Created

See Also