respect-validation/docs/rules/CountryCode.md
Henrique Moody 9740e24007
Prepare library for the next major version
Version 3.0 will include a few crucial deprecations. This commit adds
some soft deprecations to warn users about these changes.

Some of the biggest changes are:

* The method `validate()` will be renamed to `isValid()`.

* The method `validate()` will be repurposed to return an object with
  failures.

* It won't be possible to handle rules directly; users will need to use
  the `Validator` class to validate with any rule.

There will some more changes, but those are some of the most important
ones, and are the ones that are easy to deprecate right now.
2025-01-07 00:56:42 +01:00

49 lines
1.2 KiB
Markdown

# CountryCode
- `CountryCode()`
- `CountryCode(string $set)`
Validates whether the input is a country code in [ISO 3166-1][] standard.
```php
v::countryCode()->isValid('BR'); // true
v::countryCode('alpha-2')->isValid('NL'); // true
v::countryCode('alpha-3')->isValid('USA'); // true
v::countryCode('numeric')->isValid('504'); // true
```
This rule supports the three sets of country codes:
- ISO 3166-1 alpha-2 (`'alpha-2'` or `CountryCode::ALPHA2`)
- ISO 3166-1 alpha-3 (`'alpha-3'` or `CountryCode::ALPHA3`)
- ISO 3166-1 numeric (`'numeric'` or `CountryCode::NUMERIC`).
When no set is defined the rule uses `'alpha-2'` (`CountryCode::ALPHA2`).
This rules uses data from [iso-codes][].
## Categorization
- ISO codes
- Localization
## Changelog
Version | Description
--------|-------------
2.0.0 | Became case-sensitive
0.5.0 | Created
***
See also:
- [CurrencyCode](CurrencyCode.md)
- [LanguageCode](LanguageCode.md)
- [PostalCode](PostalCode.md)
- [PublicDomainSuffix](PublicDomainSuffix.md)
- [SubdivisionCode](SubdivisionCode.md)
- [Tld](Tld.md)
[ISO 3166-1]: https://wikipedia.org/wiki/ISO_3166-1
[iso-codes]: https://salsa.debian.org/iso-codes-team/iso-codes