Commit graph

1966 commits

Author SHA1 Message Date
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
Alexander Wühr 660294128f
IntVal: Validate negative numbers properly 2021-05-05 13:34:57 +02:00
Henrique Moody 4c21a7ffc9
Revert "Use "sokil/php-isocodes" on SubdivisionCode"
This reverts commit 9c9c76ebfb.
2021-03-19 15:12:45 +01:00
Henrique Moody 745a5712eb
Revert "Use "sokil/php-isocodes" on CurrencyCode"
This reverts commit f9b9dd21f9.
2021-03-19 15:12:44 +01:00
Henrique Moody b78f602f0e
Revert "Use "sokil/php-isocodes" on LanguageCode"
This reverts commit 5450ef86a8.
2021-03-19 15:12:44 +01:00
Henrique Moody edbbe7fa5b
Revert "Use "sokil/php-isocodes" on CountryCode"
This reverts commit 2060207f44.
2021-03-19 15:12:44 +01:00
Henrique Moody be7e6672a1
Remove ignored error from PHPStan
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2021-03-19 15:12:43 +01:00
The Respect Panda 143420e79f Update list of top-level domains 2021-03-14 00:30:48 +00:00
Henrique Moody 51ad23e24c
Call mbstring functions without getting encoding
The functions from the mbstring can deal find with strings without
forcing an specific encoding. However, sometimes "mb_detect_encoding()"
cannot identify the encoding therefore the functions that expect a valid
encoding will trigger a PHP error.

This commit will remove the unnecessary use of "mb_detect_encoding()."

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2021-02-06 17:42:11 +01:00
Henrique Moody 3dcd859d98
Upgrade supported version of "egulias/email-validator"
We could simply add version 3.0 instead of replacing it, but I would
like to stimulate people to keep their libraries up-to-date.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2021-02-06 16:29:39 +01:00
Henrique Moody 2060207f44
Use "sokil/php-isocodes" on CountryCode
Since we already have that library as a dependency of our repository, it
makes sense to use it as a source of country codes instead of keeping a
list of currencies ourselves.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2021-02-06 15:53:39 +01:00