Commit graph

1976 commits

Author SHA1 Message Date
Alexandre Gomes Gaigalas 636906fa07 Fixed previously introduced bug, add integration test 2023-02-19 22:11:35 -03:00
Alexandre Gomes Gaigalas bae314dd00 Do not hide messages on EachException 2023-02-19 15:26:07 -03:00
Alexandre Gomes Gaigalas 5fe4b96ebf Stricter date format validation 2023-02-19 15:00:47 -03:00
Alexandre Gomes Gaigalas 7c28d2c1f4 Update sorting order on public suffix data 2023-02-19 00:44:41 -03:00
Alexandre Gomes Gaigalas 154cccf408 Add idn2 to gh workflow installs 2023-02-19 00:21:13 -03:00
Alexandre Gomes Gaigalas ce9608d0a8 Auto update postal code list
- For this particular updater, a list of exceptions to the rules
   downloaded by geonames is included in POSTAL_CODES_EXTRA, for
   cases in which we seem to do better than geonames itself based
   on previous user reports.
 - Added an option to also validate formatting of the postal codes.
 - Combined multiple PR bots into a single one.
2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas e2b6138bf6 Add PublicDomainSuffix Rule
- List will be auto-updated from https://publicsuffix.org/list/public_suffix_list.dat
 - Updated AbstractSearcher rules to be case insensitive
 - Updated PR creator bots
 - Docs and tests
2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas 7e7c3f2fcc Tests and docs for IP range validation 2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas 55290af1fd Add test cases for issue #665 to PhoneTest 2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas 6173757f63 Use PHP files and setup a runtime cache for CountryInfo
Previously, we were loading country info from a JSON file. This
changes it to use PHP files instead. It also caches these resources
across calls avoiding these files to be loaded more than once
per process.
2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas cc3bf86b2f Use libphonenumber
Doing regex on phone numbers is not a great idea. This is a breaking
change, but a good one. Phone validation is now much stricter, and
allows choosing the country.
2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas fc8230acef Make KeySet impossible to wrap in not(), fix structure message
The use case for negating a keyset is very confusing, and can
lead to validators that don't do what they expect.

This commit introduces NonNegatable rules, which will throw
a Component exception if you try to wrap them in `Not`.

This change was necessary to ensure proper message reporting
when extra keys exist on the keyset.

This fixes #1349
2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas 493a665e99 Add a test/example of how to explore the exception tree 2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas 727e7ccbfa Increase phpstan level from 7 to 8
- Fixed all phpstan errors and ignoreds.
 - False positives now have a "Why:" comment on phpstan config.
2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas 8cafa3f298 Drop PHP 7.4 support 2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas ab3732f91f Use SPDX IDs for licensing
SPDX IDs are shorter than licensing notes previously used, and
adhere better to FOSS standards. It is also machine-readable.
2023-02-19 00:19:10 -03:00
Alexandre Gomes Gaigalas ef4778b456 Remove version info from Tld.php
We currently use a GitHub action to automate updating this file.

That action has the ability to ignore making the PR if the file
didn't changed.

Having the version number, which changed a line, was causing
several useless PR.

Users can still check if Tld.php changed by seeing the git log,
and a manual note should be issued by the maintainer on the
CHANGELOG.md file when a release containing such changes is
made.
2023-02-19 00:19:09 -03:00
Alexandre Gomes Gaigalas 689026fc7b Improve FilterVar with FILTER_VALIDATE_* options
The `filter_var` function is more of a sanitizer, but we as
a validation library do not care for that use case.

We should treat its sanitizings as a signal for checking if
the type after sanitization matches the option provided.

This fixes #1387
2023-02-19 00:19:09 -03:00
Alexandre Gomes Gaigalas a3e016bec9 Fix docs links 2023-02-18 15:29:37 -03:00
dependabot[bot] c6eaf05f47
Update symfony/validator requirement from ^3.0||^4.0 to ^3.0||^4.0||^5.0 (#1400)
Updates the requirements on [symfony/validator](https://github.com/symfony/validator) to permit the latest version.
- [Release notes](https://github.com/symfony/validator/releases)
- [Changelog](https://github.com/symfony/validator/blob/6.2/CHANGELOG.md)
- [Commits](https://github.com/symfony/validator/commits/v5.4.19)

---
updated-dependencies:
- dependency-name: symfony/validator
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-15 04:06:02 +00:00
dependabot[bot] 7776652c85
Bump actions/checkout from 2 to 3 (#1399)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-15 04:05:27 +00:00
dependabot[bot] a96614b5a6
Bump codecov/codecov-action from 1 to 3 (#1398)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v3)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-15 04:04:53 +00:00
Alexandre Gomes Gaigalas f080f7da08 Improve auto-updaters and pull requesters, auto-tld fix 2023-02-15 00:49:09 -03:00
Alexandre Gomes Gaigalas 8b3c607d03 Update peter-evans/create-pull-request@v4 2023-02-15 00:35:36 -03:00
Alexandre Gomes Gaigalas 74dee73f65 Update updater workflows, remove countries outside ISO-3366-2, cleanup 2023-02-15 00:29:10 -03:00
Alexandre Gomes Gaigalas 1e2f75287c Change update_subdivision_codes to work with salsa/iso-codes, updates data 2023-02-15 00:01:32 -03:00
Alexandre Gomes Gaigalas 1e96fd1473 Update docs (and shiny badges) 2023-02-14 22:39:19 -03:00
Alexandre Gomes Gaigalas d304ace532 Final CHANGELOG for release 2.2.4 2023-02-14 22:05:24 -03:00
Alexandre Gomes Gaigalas 1481c8e1e5 Updated docheaders 2023-02-13 19:24:37 -03:00
Alexandre Gomes Gaigalas 9ae39de44e Updates for IntVal changes 2023-02-13 19:21:42 -03:00
Alexandre Gomes Gaigalas 3eb085af8f Updated docs 2023-02-13 19:18:16 -03:00
Alexandre Gomes Gaigalas ecccfb853e Updated CHANGELOG.md 2023-02-13 19:09:30 -03:00
Alexandre Gomes Gaigalas 74d7f037a4 Merge branch 'omega3000/master' into 2.2 2023-02-13 19:07:48 -03:00
Alexandre Gomes Gaigalas 2c5793a000 Updated CHANGELOG.md, small phpcs fixes 2023-02-13 19:06:26 -03:00
Alexandre Gomes Gaigalas 13f20e7516 Merge branch 'rule/portuguese_nif_rule' into 2.2 2023-02-13 19:02:10 -03:00
Alexandre Gomes Gaigalas e5223a0913 Merge branch 'scruwi/master' into 2.2 2023-02-13 19:00:28 -03:00
Alexandre Gomes Gaigalas 2951dfd342 General fixes for PR#1392 (rupay card validation) 2023-02-13 18:59:09 -03:00
Alexandre Gomes Gaigalas 8e345b798a Merge branch 'rupay-card-validation' into 2.2 2023-02-13 18:53:04 -03:00
Alexandre Gomes Gaigalas 15f148da24 Dusting off. See CHANGELOG.md for more details on this commit 2023-02-13 03:59:11 -03:00
Ayesh Karunaratne 746c755d14
Use json_validate in Rules\Json if available (#1394)
[`json_validate` function](https://wiki.php.net/rfc/json_validate)
[added in PHP 8.3](https://php.watch/versions/8.3/json_validate) validates a
given string input to contain valid JSON without decoding it in memory.

This adds a function availability check to `Rules\Json`, and uses the new
function instead of decoding the given input, followed by a last-error check.
2023-02-13 04:43:32 +00:00
Rakshit 1abf32ccae
Updated docs to include RuPay 2022-10-22 13:49:57 +05:30
Rakshit 0cd309d9f9
PHPUnit tests for RuPay 2022-10-22 13:47:00 +05:30
Rakshit c215761890
Added RuPay card validation 2022-10-22 13:43:16 +05:30
toxxxa c7a6f2ebec Fix Decimal rule for float values > 10 2022-06-29 23:01:42 +03:00
Gonçalo Andrade 5e264f9ade Add documentation for portuguese fiscal number rule 2022-06-08 14:31:54 +01:00
Gonçalo Andrade e219da2945 Add rule for validating portuguese fiscal numbers 2022-06-08 14:29:19 +01:00
Ondřej Vodáček bf4082d208
fix phpdoc type for KeySet constructor (#1365)
by @voda
2022-01-19 12:40:08 +02:00
Fabian Wiget 60566e2250
Fix E_DEPRECATED warning in IntVal rule on PHP 8.1 (#1374)
by @fabacino
2022-01-19 12:38:23 +02:00
Fabian Wiget 4847fe45ff
Fix check whether start and end address have been set in Ip rule (#1375)
by @fabacino
2022-01-19 12:36:13 +02:00
Markus.Lauer b8ee424082 Allow 5- and 6-digit postal code for Cambodia 2021-08-27 17:13:03 +02:00