From 89460e5010f385175d89d7aeb6ccac980577c2e1 Mon Sep 17 00:00:00 2001 From: pixelpeter Date: Mon, 14 Oct 2024 00:55:13 +0200 Subject: [PATCH 1/4] ADD: github actions --- .gitattributes | 20 ++++++ .github/dependabot.yml | 19 ++++++ .github/workflows/dependabot-auto-merge.yml | 32 ++++++++++ .../workflows/fix-php-code-style-issues.yml | 27 ++++++++ .github/workflows/phpstan.yml | 27 ++++++++ .github/workflows/run-tests.yml | 64 +++++++++++++++++++ .github/workflows/update-changelog.yml | 31 +++++++++ .gitignore | 34 +++++++++- .scrutinizer.yml | 6 -- .travis.yml | 30 --------- composer.json | 11 +++- phpstan-baseline.neon | 0 phpstan.neon.dist | 9 +++ src/IsoCodesValidationServiceProvider.php | 7 +- 14 files changed, 274 insertions(+), 43 deletions(-) create mode 100644 .gitattributes create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/dependabot-auto-merge.yml create mode 100644 .github/workflows/fix-php-code-style-issues.yml create mode 100644 .github/workflows/phpstan.yml create mode 100644 .github/workflows/run-tests.yml create mode 100644 .github/workflows/update-changelog.yml delete mode 100644 .scrutinizer.yml delete mode 100644 .travis.yml create mode 100644 phpstan-baseline.neon create mode 100644 phpstan.neon.dist diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..c09f81e --- /dev/null +++ b/.gitattributes @@ -0,0 +1,20 @@ +# Path-based git attributes +# https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html + +# Ignore all test and documentation with "export-ignore". +/.github export-ignore +/.gitattributes export-ignore +/.gitignore export-ignore +/phpunit.xml.dist export-ignore +/art export-ignore +/docs export-ignore +/tests export-ignore +/workbench export-ignore +/.editorconfig export-ignore +/.php_cs.dist.php export-ignore +/psalm.xml export-ignore +/psalm.xml.dist export-ignore +/testbench.yaml export-ignore +/UPGRADING.md export-ignore +/phpstan.neon.dist export-ignore +/phpstan-baseline.neon export-ignore diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..39b1580 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,19 @@ +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + labels: + - "dependencies" + + - package-ecosystem: "composer" + directory: "/" + schedule: + interval: "weekly" + labels: + - "dependencies" diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml new file mode 100644 index 0000000..b197aa3 --- /dev/null +++ b/.github/workflows/dependabot-auto-merge.yml @@ -0,0 +1,32 @@ +name: Dependabot auto merge +on: pull_request_target + +permissions: + pull-requests: write + contents: write + +jobs: + dependabot: + runs-on: ubuntu-latest + if: ${{ github.actor == 'dependabot[bot]' }} + steps: + + - name: Dependabot metadata + id: metadata + uses: dependabot/fetch-metadata@v2.2.0 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + + - name: Auto-merge Dependabot PRs for semver-minor updates + if: ${{steps.metadata.outputs.update-type == 'version-update:semver-minor'}} + run: gh pr merge --auto --merge "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + + - name: Auto-merge Dependabot PRs for semver-patch updates + if: ${{steps.metadata.outputs.update-type == 'version-update:semver-patch'}} + run: gh pr merge --auto --merge "$PR_URL" + env: + PR_URL: ${{github.event.pull_request.html_url}} + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/fix-php-code-style-issues.yml b/.github/workflows/fix-php-code-style-issues.yml new file mode 100644 index 0000000..255506b --- /dev/null +++ b/.github/workflows/fix-php-code-style-issues.yml @@ -0,0 +1,27 @@ +name: Fix PHP code style issues + +on: + push: + paths: + - '**.php' + +permissions: + contents: write + +jobs: + php-code-styling: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} + + - name: Fix PHP code style issues + uses: aglipanci/laravel-pint-action@2.4 + + - name: Commit changes + uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: Fix styling diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml new file mode 100644 index 0000000..c8b58a9 --- /dev/null +++ b/.github/workflows/phpstan.yml @@ -0,0 +1,27 @@ +name: PHPStan + +on: + push: + paths: + - '**.php' + - 'phpstan.neon.dist' + - '.github/workflows/phpstan.yml' + +jobs: + phpstan: + name: phpstan + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.2' + coverage: none + + - name: Install composer dependencies + uses: ramsey/composer-install@v3 + + - name: Run PHPStan + run: ./vendor/bin/phpstan --error-format=github diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml new file mode 100644 index 0000000..a842b29 --- /dev/null +++ b/.github/workflows/run-tests.yml @@ -0,0 +1,64 @@ +name: Tests + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: true + matrix: + os: [ ubuntu-latest ] + php: [ 8.2, 8.1, 8.0 ] + laravel: [ 10.*, 9.*, 8.* ] + stability: [ prefer-stable ] + include: + - laravel: 10.* + testbench: 8.* + carbon: ^2.66 + - laravel: 9.* + testbench: 7.* + carbon: ^2.66 + - laravel: 8.* + testbench: 6.* + carbon: ^2.63 + exclude: + - laravel: 10.* + php: 8.0 + name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }} + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo + coverage: xdebug + + - name: Setup problem matchers + run: | + echo "::add-matcher::${{ runner.tool_cache }}/php.json" + echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" + + - name: Install dependencies + run: | + composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" "nesbot/carbon:${{ matrix.carbon }}" --no-interaction --no-update + composer update --${{ matrix.stability }} --prefer-dist --no-interaction + + - name: List Installed Dependencies + run: composer show -D + + - name: Execute tests and coverage + run: vendor/bin/phpunit --coverage-clover build/logs/clover.xml + + - name: Upload coverage results to Coveralls + env: + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + run: | + vendor/bin/php-coveralls --coverage_clover=build/logs/clover.xml -v diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml new file mode 100644 index 0000000..4b93116 --- /dev/null +++ b/.github/workflows/update-changelog.yml @@ -0,0 +1,31 @@ +name: "Update Changelog" + +on: + release: + types: [released] + +permissions: + contents: write + +jobs: + update: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: master + + - name: Update Changelog + uses: stefanzweifel/changelog-updater-action@v1 + with: + latest-version: ${{ github.event.release.name }} + release-notes: ${{ github.event.release.body }} + + - name: Commit updated CHANGELOG + uses: stefanzweifel/git-auto-commit-action@v5 + with: + branch: master + commit_message: Update CHANGELOG + file_pattern: CHANGELOG.md diff --git a/.gitignore b/.gitignore index 0d1d0ed..44691a0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,35 @@ -/vendor +# Composer Related composer.lock -.DS_Store +/vendor + +# Frontend Assets +/node_modules + +# Logs +npm-debug.log +yarn-error.log + +# Caches +.phpunit.cache .phpunit.result.cache +/build + +# IDE Helper +_ide_helper.php +_ide_helper_models.php +.phpstorm.meta.php + +# Editors +/.idea +/.fleet +/.vscode + +# Misc +phpunit.xml +phpstan.neon +testbench.yaml +/docs +/coverage +.DS_Store + diff --git a/.scrutinizer.yml b/.scrutinizer.yml deleted file mode 100644 index 884d059..0000000 --- a/.scrutinizer.yml +++ /dev/null @@ -1,6 +0,0 @@ -build: - nodes: - analysis: - tests: - override: - - php-scrutinizer-run diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index bceeb6f..0000000 --- a/.travis.yml +++ /dev/null @@ -1,30 +0,0 @@ -language: php - -php: - - 8.0 - -matrix: - include: - - php: 8.0 - env: dependencies=lowest - - php: 8.0 - env: dependencies=highest - -before_script: - - composer self-update -q - - if [ -n "$GITHUB_TOKEN" ]; then composer config github-oauth.github.com ${GITHUB_TOKEN}; fi; - - if [ -z "$dependencies" ]; then composer install; fi; - - if [ "$dependencies" = "lowest" ]; then composer update --prefer-lowest -n; fi; - - if [ "$dependencies" = "highest" ]; then composer update -n; fi; - -script: - - mkdir -p build/logs - - vendor/bin/phpunit --coverage-clover build/logs/clover.xml - -branches: - only: - - master - - stable - -after_success: - - travis_retry php vendor/bin/coveralls -v diff --git a/composer.json b/composer.json index ee93de6..ac3c8eb 100644 --- a/composer.json +++ b/composer.json @@ -37,8 +37,9 @@ "require-dev": { "phpunit/phpunit": "^9.5", "mockery/mockery": "^1.2", - "php-coveralls/php-coveralls": "^2.1", - "laravel/laravel": "8.*" + "php-coveralls/php-coveralls": "^2.7", + "laravel/laravel": "8.*", + "phpstan/extension-installer": "^1.4" }, "extra": { "laravel": { @@ -46,5 +47,11 @@ "Pixelpeter\\IsoCodesValidation\\IsoCodesValidationServiceProvider" ] } + }, + "config": { + "allow-plugins": { + "phpstan/extension-installer": true + }, + "sort-packages": true } } diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon new file mode 100644 index 0000000..e69de29 diff --git a/phpstan.neon.dist b/phpstan.neon.dist new file mode 100644 index 0000000..9063ebf --- /dev/null +++ b/phpstan.neon.dist @@ -0,0 +1,9 @@ +includes: + - phpstan-baseline.neon + +parameters: + level: 5 + paths: + - src + tmpDir: build/phpstan + diff --git a/src/IsoCodesValidationServiceProvider.php b/src/IsoCodesValidationServiceProvider.php index 48c5d8f..007eed7 100644 --- a/src/IsoCodesValidationServiceProvider.php +++ b/src/IsoCodesValidationServiceProvider.php @@ -16,7 +16,7 @@ public function boot() { // load translation files $this->loadTranslationsFrom( - __DIR__ . '/../lang', + __DIR__.'/../lang', 'validation' ); @@ -36,7 +36,7 @@ public function boot() /** * Return translation key for correspondent method name * - * @param string $name + * @param string $name * @return string */ private function getTranslationKeyFromMethodName($name) @@ -45,12 +45,13 @@ private function getTranslationKeyFromMethodName($name) return Str::snake(substr($name, 8)); } + return ''; } /** * Return the matching error message for the key * - * @param string $key + * @param string $key * @return string */ private function getErrorMessage($translator, $messages, $key) From 0765db6ada5517a76e70c4efbca95102b7b5b57c Mon Sep 17 00:00:00 2001 From: pixelpeter Date: Sun, 13 Oct 2024 22:56:05 +0000 Subject: [PATCH 2/4] Fix styling --- lang/de/validation.php | 72 ++--- lang/en/validation.php | 72 ++--- src/IsoCodesValidator.php | 310 +++++--------------- tests/IsoCodesValidatorTest.php | 36 ++- tests/fixtures/invalid.php | 214 +++++++------- tests/fixtures/invalid_wit_dot_notation.php | 50 ++-- tests/fixtures/invalid_with_references.php | 2 +- tests/fixtures/valid_wit_dot_notation.php | 42 +-- tests/fixtures/valid_with_references.php | 2 +- 9 files changed, 322 insertions(+), 478 deletions(-) diff --git a/lang/de/validation.php b/lang/de/validation.php index ca6ed71..0dfbf9d 100644 --- a/lang/de/validation.php +++ b/lang/de/validation.php @@ -1,41 +1,41 @@ 'Der Wert ":value" von :attribute ist kein gültiger BBAN Code.', - 'bsn' => 'Der Wert ":value" von :attribute ist kein gültiger BSN.', - 'cif' => 'Der Wert ":value" von :attribute ist kein gültiger CIF Code.', - 'creditcard' => 'Der Wert ":value" von :attribute ist keine gültige Kreditkartennummer.', - 'ean8' => 'Der Wert ":value" von :attribute ist kein gültiger EAN8 Code.', - 'ean13' => 'Der Wert ":value" von :attribute ist kein gültiger EAN13 Code.', - 'gdti' => 'Der Wert ":value" von :attribute ist kein gültiger Global Document Type Identifier (GDTI).', - 'gln' => 'Der Wert ":value" von :attribute ist keine gültige Global Location Number (GLN).', - 'grai' => 'Der Wert ":value" von :attribute ist kein gültiger Global Returnable Asset Identifier.', - 'gsrn' => 'Der Wert ":value" von :attribute ist keine gültige Global Service Relation Number (GS1).', - 'gtin8' => 'Der Wert ":value" von :attribute ist kein gültiger GTIN-8 Code.', - 'gtin12' => 'Der Wert ":value" von :attribute ist kein gültiger GTIN-12 Code.', - 'gtin13' => 'Der Wert ":value" von :attribute ist kein gültiger GTIN-13 Code.', - 'gtin14' => 'Der Wert ":value" von :attribute ist kein gültiger GTIN-14 Code.', - 'iban' => 'Der Wert ":value" von :attribute ist keine gültige IBAN.', - 'insee' => 'Der Wert ":value" von :attribute ist kein gültiger INSEE Code.', - 'ipaddress' => 'Der Wert ":value" von :attribute ist keine gültige IP Adresse.', - 'isbn' => 'Der Wert ":value" von :attribute ist keine gültige ISBN.', - 'isin' => 'Der Wert ":value" von :attribute ist kein gültiger ISIN.', - 'ismn' => 'Der Wert ":value" von :attribute ist keine gültige International Standard Music Number or ISMN (ISO 10957)', - 'iswc' => 'Der Wert ":value" von :attribute ist kein gültiger International Standard Musical Work Code (ISWC)', - 'mac' => 'Der Wert ":value" von :attribute ist keine gültige MAC Adresse.', - 'nif' => 'Der Wert ":value" von :attribute ist kein gültiger NIF.', + 'bban' => 'Der Wert ":value" von :attribute ist kein gültiger BBAN Code.', + 'bsn' => 'Der Wert ":value" von :attribute ist kein gültiger BSN.', + 'cif' => 'Der Wert ":value" von :attribute ist kein gültiger CIF Code.', + 'creditcard' => 'Der Wert ":value" von :attribute ist keine gültige Kreditkartennummer.', + 'ean8' => 'Der Wert ":value" von :attribute ist kein gültiger EAN8 Code.', + 'ean13' => 'Der Wert ":value" von :attribute ist kein gültiger EAN13 Code.', + 'gdti' => 'Der Wert ":value" von :attribute ist kein gültiger Global Document Type Identifier (GDTI).', + 'gln' => 'Der Wert ":value" von :attribute ist keine gültige Global Location Number (GLN).', + 'grai' => 'Der Wert ":value" von :attribute ist kein gültiger Global Returnable Asset Identifier.', + 'gsrn' => 'Der Wert ":value" von :attribute ist keine gültige Global Service Relation Number (GS1).', + 'gtin8' => 'Der Wert ":value" von :attribute ist kein gültiger GTIN-8 Code.', + 'gtin12' => 'Der Wert ":value" von :attribute ist kein gültiger GTIN-12 Code.', + 'gtin13' => 'Der Wert ":value" von :attribute ist kein gültiger GTIN-13 Code.', + 'gtin14' => 'Der Wert ":value" von :attribute ist kein gültiger GTIN-14 Code.', + 'iban' => 'Der Wert ":value" von :attribute ist keine gültige IBAN.', + 'insee' => 'Der Wert ":value" von :attribute ist kein gültiger INSEE Code.', + 'ipaddress' => 'Der Wert ":value" von :attribute ist keine gültige IP Adresse.', + 'isbn' => 'Der Wert ":value" von :attribute ist keine gültige ISBN.', + 'isin' => 'Der Wert ":value" von :attribute ist kein gültiger ISIN.', + 'ismn' => 'Der Wert ":value" von :attribute ist keine gültige International Standard Music Number or ISMN (ISO 10957)', + 'iswc' => 'Der Wert ":value" von :attribute ist kein gültiger International Standard Musical Work Code (ISWC)', + 'mac' => 'Der Wert ":value" von :attribute ist keine gültige MAC Adresse.', + 'nif' => 'Der Wert ":value" von :attribute ist kein gültiger NIF.', 'organisme_type12_norme_b2' => 'Der Wert ":value" von :attribute ist kein gültiger Organisme Type12 Norme B2.', - 'phonenumber' => 'Der Wert ":value" von :attribute ist ungültig für ":country".', - 'sedol' => 'Der Wert ":value" von :attribute ist kein gültiger SEDOL.', - 'siren' => 'Der Wert ":value" von :attribute ist kein gültiger SIREN Code.', - 'siret' => 'Der Wert ":value" von :attribute ist kein gültiger SIRET Code.', - 'sscc' => 'Der Wert ":value" von :attribute ist kein gültiger SSCC.', - 'ssn' => 'Der Wert ":value" von :attribute ist keine gültige SSN.', - 'structured_communication' => 'Der Wert ":value" von :attribute ist kein gültiger Structured Communication Code.', - 'swift_bic' => 'Der Wert ":value" von :attribute ist kein gültiger SWIFT/BIC.', - 'udi' => 'Der Wert ":value" von :attribute ist kein gültiger UDI.', - 'uknin' => 'Der Wert ":value" von :attribute ist keine gültige UK National Insurance Number.', - 'upca' => 'Der Wert ":value" von :attribute ist kein gültiger UPCA.', - 'vat' => 'Der Wert ":value" von :attribute ist keine gültige VAT.', - 'zipcode' => 'Der Wert ":value" von :attribute ist ungültig für ":country".', + 'phonenumber' => 'Der Wert ":value" von :attribute ist ungültig für ":country".', + 'sedol' => 'Der Wert ":value" von :attribute ist kein gültiger SEDOL.', + 'siren' => 'Der Wert ":value" von :attribute ist kein gültiger SIREN Code.', + 'siret' => 'Der Wert ":value" von :attribute ist kein gültiger SIRET Code.', + 'sscc' => 'Der Wert ":value" von :attribute ist kein gültiger SSCC.', + 'ssn' => 'Der Wert ":value" von :attribute ist keine gültige SSN.', + 'structured_communication' => 'Der Wert ":value" von :attribute ist kein gültiger Structured Communication Code.', + 'swift_bic' => 'Der Wert ":value" von :attribute ist kein gültiger SWIFT/BIC.', + 'udi' => 'Der Wert ":value" von :attribute ist kein gültiger UDI.', + 'uknin' => 'Der Wert ":value" von :attribute ist keine gültige UK National Insurance Number.', + 'upca' => 'Der Wert ":value" von :attribute ist kein gültiger UPCA.', + 'vat' => 'Der Wert ":value" von :attribute ist keine gültige VAT.', + 'zipcode' => 'Der Wert ":value" von :attribute ist ungültig für ":country".', ]; diff --git a/lang/en/validation.php b/lang/en/validation.php index 54c82bf..51d711b 100644 --- a/lang/en/validation.php +++ b/lang/en/validation.php @@ -1,41 +1,41 @@ 'The value ":value" of :attribute is not a valid BBAN code.', - 'bsn' => 'The value ":value" of :attribute is not a valid BSN.', - 'cif' => 'The value ":value" of :attribute is not a valid CIF code.', - 'creditcard' => 'The value ":value" of :attribute is not a valid credit card number.', - 'ean8' => 'The value ":value" of :attribute is not a valid EAN8 code.', - 'ean13' => 'The value ":value" of :attribute is not a valid EAN13 code.', - 'gdti' => 'The value ":value" of :attribute is not a valid Global Document Type Identifier (GDTI).', - 'gln' => 'The value ":value" of :attribute is not a valid Global Location Number (GLN).', - 'grai' => 'The value ":value" of :attribute is not a valid Global Returnable Asset Identifier.', - 'gsrn' => 'The value ":value" of :attribute is not a valid Global Service Relation Number (GS1).', - 'gtin8' => 'The value ":value" of :attribute is not a valid GTIN-8 code.', - 'gtin12' => 'The value ":value" of :attribute is not a valid GTIN-12 code.', - 'gtin13' => 'The value ":value" of :attribute is not a valid GTIN-13 code.', - 'gtin14' => 'The value ":value" of :attribute is not a valid GTIN-14 code.', - 'iban' => 'The value ":value" of :attribute is not a valid IBAN.', - 'insee' => 'The value ":value" of :attribute is not a valid INSEE code.', - 'ipaddress' => 'The value ":value" of :attribute is not a valid ip address.', - 'isbn' => 'The value ":value" of :attribute is not a valid ISBN.', - 'isin' => 'The value ":value" of :attribute is not a valid ISIN.', - 'ismn' => 'The value ":value" of :attribute is not a valid International Standard Music Number or ISMN (ISO 10957)', - 'iswc' => 'The value ":value" of :attribute is not a valid International Standard Musical Work Code (ISWC)', - 'mac' => 'The value ":value" of :attribute is not a valid MAC address.', - 'nif' => 'The value ":value" of :attribute is not a valid NIF.', + 'bban' => 'The value ":value" of :attribute is not a valid BBAN code.', + 'bsn' => 'The value ":value" of :attribute is not a valid BSN.', + 'cif' => 'The value ":value" of :attribute is not a valid CIF code.', + 'creditcard' => 'The value ":value" of :attribute is not a valid credit card number.', + 'ean8' => 'The value ":value" of :attribute is not a valid EAN8 code.', + 'ean13' => 'The value ":value" of :attribute is not a valid EAN13 code.', + 'gdti' => 'The value ":value" of :attribute is not a valid Global Document Type Identifier (GDTI).', + 'gln' => 'The value ":value" of :attribute is not a valid Global Location Number (GLN).', + 'grai' => 'The value ":value" of :attribute is not a valid Global Returnable Asset Identifier.', + 'gsrn' => 'The value ":value" of :attribute is not a valid Global Service Relation Number (GS1).', + 'gtin8' => 'The value ":value" of :attribute is not a valid GTIN-8 code.', + 'gtin12' => 'The value ":value" of :attribute is not a valid GTIN-12 code.', + 'gtin13' => 'The value ":value" of :attribute is not a valid GTIN-13 code.', + 'gtin14' => 'The value ":value" of :attribute is not a valid GTIN-14 code.', + 'iban' => 'The value ":value" of :attribute is not a valid IBAN.', + 'insee' => 'The value ":value" of :attribute is not a valid INSEE code.', + 'ipaddress' => 'The value ":value" of :attribute is not a valid ip address.', + 'isbn' => 'The value ":value" of :attribute is not a valid ISBN.', + 'isin' => 'The value ":value" of :attribute is not a valid ISIN.', + 'ismn' => 'The value ":value" of :attribute is not a valid International Standard Music Number or ISMN (ISO 10957)', + 'iswc' => 'The value ":value" of :attribute is not a valid International Standard Musical Work Code (ISWC)', + 'mac' => 'The value ":value" of :attribute is not a valid MAC address.', + 'nif' => 'The value ":value" of :attribute is not a valid NIF.', 'organisme_type12_norme_b2' => 'The value ":value" of :attribute is not a valid Organisme Type12 Norme B2.', - 'phonenumber' => 'The value ":value" of :attribute is not valid for ":country".', - 'sedol' => 'The value ":value" of :attribute is not a valid SEDOL.', - 'siren' => 'The value ":value" of :attribute is not a valid SIREN code.', - 'siret' => 'The value ":value" of :attribute is not a valid SIRET code.', - 'sscc' => 'The value ":value" of :attribute is not a valid SSCC.', - 'ssn' => 'The value ":value" of :attribute is not a valid SSN.', - 'structured_communication' => 'The value ":value" of :attribute is not a valid structured communication code.', - 'swift_bic' => 'The value ":value" of :attribute is not a valid SWIFT/BIC.', - 'udi' => 'The value ":value" of :attribute is not a valid UDI.', - 'uknin' => 'The value ":value" of :attribute is not a valid UK National Insurance Number.', - 'upca' => 'The value ":value" of :attribute is not a valid UPCA.', - 'vat' => 'The value ":value" of :attribute is not a valid VAT.', - 'zipcode' => 'The value ":value" of :attribute is not valid for ":country".', + 'phonenumber' => 'The value ":value" of :attribute is not valid for ":country".', + 'sedol' => 'The value ":value" of :attribute is not a valid SEDOL.', + 'siren' => 'The value ":value" of :attribute is not a valid SIREN code.', + 'siret' => 'The value ":value" of :attribute is not a valid SIRET code.', + 'sscc' => 'The value ":value" of :attribute is not a valid SSCC.', + 'ssn' => 'The value ":value" of :attribute is not a valid SSN.', + 'structured_communication' => 'The value ":value" of :attribute is not a valid structured communication code.', + 'swift_bic' => 'The value ":value" of :attribute is not a valid SWIFT/BIC.', + 'udi' => 'The value ":value" of :attribute is not a valid UDI.', + 'uknin' => 'The value ":value" of :attribute is not a valid UK National Insurance Number.', + 'upca' => 'The value ":value" of :attribute is not a valid UPCA.', + 'vat' => 'The value ":value" of :attribute is not a valid VAT.', + 'zipcode' => 'The value ":value" of :attribute is not valid for ":country".', ]; diff --git a/src/IsoCodesValidator.php b/src/IsoCodesValidator.php index 1d5122c..6387449 100644 --- a/src/IsoCodesValidator.php +++ b/src/IsoCodesValidator.php @@ -2,7 +2,6 @@ namespace Pixelpeter\IsoCodesValidation; - use Exception; use Illuminate\Support\Arr; use Illuminate\Validation\Validator as BaseValidator; @@ -12,8 +11,6 @@ class IsoCodesValidator extends BaseValidator /** * Validate a BBAN code * - * @param $attribute - * @param $value * @return mixed */ public function validateBban(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -24,8 +21,6 @@ public function validateBban(/** @scrutinizer ignore-unused */ $attribute, $valu /** * Validate a BSN (Dutch citizen service number) * - * @param $attribute - * @param $value * @return mixed */ public function validateBsn(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -36,8 +31,6 @@ public function validateBsn(/** @scrutinizer ignore-unused */ $attribute, $value /** * Validate a CIF code * - * @param $attribute - * @param $value * @return mixed */ public function validateCif(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -48,8 +41,6 @@ public function validateCif(/** @scrutinizer ignore-unused */ $attribute, $value /** * Validate a credit card number * - * @param $attribute - * @param $value * @return mixed */ public function validateCreditcard(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -72,8 +63,6 @@ public function validateCreditcard(/** @scrutinizer ignore-unused */ $attribute, /** * Validate a EAN-13 code * - * @param $attribute - * @param $value * @return mixed */ public function validateEan13(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -84,8 +73,6 @@ public function validateEan13(/** @scrutinizer ignore-unused */ $attribute, $val /** * Validate a Global Document Type Identifier (GDTI) * - * @param $attribute - * @param $value * @return mixed */ public function validateGdti(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -96,8 +83,6 @@ public function validateGdti(/** @scrutinizer ignore-unused */ $attribute, $valu /** * Validate a Global Location Number (GLN) * - * @param $attribute - * @param $value * @return mixed */ public function validateGln(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -108,8 +93,6 @@ public function validateGln(/** @scrutinizer ignore-unused */ $attribute, $value /** * Validate a Global Returnable Asset Identifier * - * @param $attribute - * @param $value * @return mixed */ public function validateGrai(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -120,8 +103,6 @@ public function validateGrai(/** @scrutinizer ignore-unused */ $attribute, $valu /** * Validate a Global Service Relation Number (GS1) * - * @param $attribute - * @param $value * @return mixed */ public function validateGsrn(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -132,8 +113,6 @@ public function validateGsrn(/** @scrutinizer ignore-unused */ $attribute, $valu /** * Validate a GTIN-8 code * - * @param $attribute - * @param $value * @return mixed */ public function validateGtin8(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -144,8 +123,6 @@ public function validateGtin8(/** @scrutinizer ignore-unused */ $attribute, $val /** * Validate a GTIN-12 code * - * @param $attribute - * @param $value * @return mixed */ public function validateGtin12(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -156,8 +133,6 @@ public function validateGtin12(/** @scrutinizer ignore-unused */ $attribute, $va /** * Validate a GTIN-13 code * - * @param $attribute - * @param $value * @return mixed */ public function validateGtin13(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -168,8 +143,6 @@ public function validateGtin13(/** @scrutinizer ignore-unused */ $attribute, $va /** * Validate a GTIN-14 code * - * @param $attribute - * @param $value * @return mixed */ public function validateGtin14(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -180,8 +153,6 @@ public function validateGtin14(/** @scrutinizer ignore-unused */ $attribute, $va /** * Validate an IBAN * - * @param $attribute - * @param $value * @return mixed */ public function validateIban(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -192,8 +163,6 @@ public function validateIban(/** @scrutinizer ignore-unused */ $attribute, $valu /** * Validate a "numéro de sécurité sociale" (INSEE) * - * @param $attribute - * @param $value * @return mixed */ public function validateInsee(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -204,8 +173,6 @@ public function validateInsee(/** @scrutinizer ignore-unused */ $attribute, $val /** * Validate an IP address * - * @param $attribute - * @param $value * @return mixed */ public function validateIpaddress(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -216,9 +183,6 @@ public function validateIpaddress(/** @scrutinizer ignore-unused */ $attribute, /** * Validate an ISBN * - * @param $attribute - * @param $value - * @param $parameters * @return mixed */ public function validateIsbn($attribute, $value, $parameters) @@ -232,8 +196,6 @@ public function validateIsbn($attribute, $value, $parameters) /** * Validate an "International Securities Identification Number" (ISIN) * - * @param $attribute - * @param $value * @return mixed */ public function validateIsin(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -244,8 +206,6 @@ public function validateIsin(/** @scrutinizer ignore-unused */ $attribute, $valu /** * Validate an "International Standard Music Number" or ISMN (ISO 10957) * - * @param $attribute - * @param $value * @return mixed */ public function validateIsmn(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -256,8 +216,6 @@ public function validateIsmn(/** @scrutinizer ignore-unused */ $attribute, $valu /** * Validate an "International Standard Musical Work Code" (ISWC) * - * @param $attribute - * @param $value * @return mixed */ public function validateIswc(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -268,8 +226,6 @@ public function validateIswc(/** @scrutinizer ignore-unused */ $attribute, $valu /** * Validate a MAC address * - * @param $attribute - * @param $value * @return mixed */ public function validateMac(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -280,8 +236,6 @@ public function validateMac(/** @scrutinizer ignore-unused */ $attribute, $value /** * Validate a "Número de Identificación Fiscal" (NIF) * - * @param $attribute - * @param $value * @return mixed */ public function validateNif(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -292,9 +246,6 @@ public function validateNif(/** @scrutinizer ignore-unused */ $attribute, $value /** * Validate a "Organisme Type12 Norme B2" * - * @param $attribute - * @param $value - * @param $parameters * @return mixed */ public function validateOrganismeType12NormeB2($attribute, $value, $parameters) @@ -308,9 +259,6 @@ public function validateOrganismeType12NormeB2($attribute, $value, $parameters) /** * Validate a phone number * - * @param $attribute - * @param $value - * @param $parameters * @return mixed */ public function validatePhonenumber($attribute, $value, $parameters) @@ -324,8 +272,6 @@ public function validatePhonenumber($attribute, $value, $parameters) /** * Validate a Stock Exchange Daily Official List (SEDOL) * - * @param $attribute - * @param $value * @return mixed */ public function validateSedol(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -336,8 +282,6 @@ public function validateSedol(/** @scrutinizer ignore-unused */ $attribute, $val /** * Validate "Système d’Identification du Répertoire des Entreprises" (SIREN) * - * @param $attribute - * @param $value * @return mixed */ public function validateSiren(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -348,8 +292,6 @@ public function validateSiren(/** @scrutinizer ignore-unused */ $attribute, $val /** * Validate "Système d’Identification du Répertoire des ETablissements" (SIRET) * - * @param $attribute - * @param $value * @return mixed */ public function validateSiret(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -360,8 +302,6 @@ public function validateSiret(/** @scrutinizer ignore-unused */ $attribute, $val /** * Validate a European/International Article Number (SSCC) * - * @param $attribute - * @param $value * @return mixed */ public function validateSscc(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -372,8 +312,6 @@ public function validateSscc(/** @scrutinizer ignore-unused */ $attribute, $valu /** * Validate a Social Security Number (SSN) * - * @param $attribute - * @param $value * @return mixed */ public function validateSsn(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -384,8 +322,6 @@ public function validateSsn(/** @scrutinizer ignore-unused */ $attribute, $value /** * Validate structured communication * - * @param $attribute - * @param $value * @return mixed */ public function validateStructuredCommunication(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -396,8 +332,6 @@ public function validateStructuredCommunication(/** @scrutinizer ignore-unused * /** * Validate a SWIFT/BIC * - * @param $attribute - * @param $value * @return mixed */ public function validateSwiftBic(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -408,8 +342,6 @@ public function validateSwiftBic(/** @scrutinizer ignore-unused */ $attribute, $ /** * Validate a Unique Device Identification * - * @param $attribute - * @param $value * @return mixed */ public function validateUdi(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -420,8 +352,6 @@ public function validateUdi(/** @scrutinizer ignore-unused */ $attribute, $value /** * Validate a UK National Insurance Number * - * @param $attribute - * @param $value * @return mixed */ public function validateUknin(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -432,8 +362,6 @@ public function validateUknin(/** @scrutinizer ignore-unused */ $attribute, $val /** * Validate a Universal Product Code * - * @param $attribute - * @param $value * @return mixed */ public function validateUpca(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -444,8 +372,6 @@ public function validateUpca(/** @scrutinizer ignore-unused */ $attribute, $valu /** * Validate Value Added Tax (VAT) * - * @param $attribute - * @param $value * @return mixed */ public function validateVat(/** @scrutinizer ignore-unused */ $attribute, $value) @@ -456,9 +382,6 @@ public function validateVat(/** @scrutinizer ignore-unused */ $attribute, $value /** * Validate a zip code * - * @param $attribute - * @param $value - * @param $parameters * @return mixed */ public function validateZipcode($attribute, $value, $parameters) @@ -472,8 +395,6 @@ public function validateZipcode($attribute, $value, $parameters) /** * Prepare/get the reference when defined in dot notation * - * @param $attribute - * @param $parameters * @return mixed */ protected function prepareReference($attribute, $parameters) @@ -490,19 +411,17 @@ protected function prepareReference($attribute, $parameters) * and catch every other Exception from underlying libraries * so we will only display the Laravel validation error * - * @param $validator - * @param $value - * @param mixed $reference + * @param mixed $reference * @return mixed */ protected function runIsoCodesValidator($validator, $value, $reference = '') { try { if (empty($reference)) { - return call_user_func($validator . '::validate', $value); + return call_user_func($validator.'::validate', $value); } - return call_user_func($validator . '::validate', $value, $reference); + return call_user_func($validator.'::validate', $value, $reference); } catch (Exception $e) { // do nothing } @@ -511,8 +430,7 @@ protected function runIsoCodesValidator($validator, $value, $reference = '') /** * Replace all country place-holders * - * @param $message - * @param $parameter + * @param $parameter * @return mixed */ protected function countryReplacer($message, $reference) @@ -523,8 +441,6 @@ protected function countryReplacer($message, $reference) /** * Replace all value place-holders * - * @param $message - * @param $attribute * @return mixed */ protected function valueReplacer($message, $attribute) @@ -535,10 +451,8 @@ protected function valueReplacer($message, $attribute) /** * Replace all place-holders for the bban rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceBban($message, $attribute) @@ -549,10 +463,8 @@ public function replaceBban($message, $attribute) /** * Replace all place-holders for the bsn rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceBsn($message, $attribute) @@ -563,10 +475,8 @@ public function replaceBsn($message, $attribute) /** * Replace all place-holders for the cif rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceCif($message, $attribute) @@ -577,10 +487,8 @@ public function replaceCif($message, $attribute) /** * Replace all place-holders for the creditcard rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceCreditcard($message, $attribute) @@ -591,10 +499,8 @@ public function replaceCreditcard($message, $attribute) /** * Replace all place-holders for the ena8 rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceEan8($message, $attribute) @@ -605,10 +511,8 @@ public function replaceEan8($message, $attribute) /** * Replace all place-holders for the ean13 rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceEan13($message, $attribute) @@ -619,10 +523,8 @@ public function replaceEan13($message, $attribute) /** * Replace all place-holders for the gdti rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceGdti($message, $attribute) @@ -633,10 +535,8 @@ public function replaceGdti($message, $attribute) /** * Replace all place-holders for the gln rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceGln($message, $attribute) @@ -647,10 +547,8 @@ public function replaceGln($message, $attribute) /** * Replace all place-holders for the grai rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceGrai($message, $attribute) @@ -661,10 +559,8 @@ public function replaceGrai($message, $attribute) /** * Replace all place-holders for the gsrn rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceGsrn($message, $attribute) @@ -675,10 +571,8 @@ public function replaceGsrn($message, $attribute) /** * Replace all place-holders for the gitin8 rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceGtin8($message, $attribute) @@ -689,10 +583,8 @@ public function replaceGtin8($message, $attribute) /** * Replace all place-holders for the gtin12 rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceGtin12($message, $attribute) @@ -703,10 +595,8 @@ public function replaceGtin12($message, $attribute) /** * Replace all place-holders for the gtin13 rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceGtin13($message, $attribute) @@ -717,10 +607,8 @@ public function replaceGtin13($message, $attribute) /** * Replace all place-holders for the gtin14 rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceGtin14($message, $attribute) @@ -731,10 +619,8 @@ public function replaceGtin14($message, $attribute) /** * Replace all place-holders for the iban rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceIban($message, $attribute) @@ -745,10 +631,8 @@ public function replaceIban($message, $attribute) /** * Replace all place-holders for the insee rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceInsee($message, $attribute) @@ -759,10 +643,8 @@ public function replaceInsee($message, $attribute) /** * Replace all place-holders for the ipaddress rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceIpaddress($message, $attribute) @@ -773,10 +655,8 @@ public function replaceIpaddress($message, $attribute) /** * Replace all place-holders for the isbn rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceIsbn($message, $attribute) @@ -787,10 +667,8 @@ public function replaceIsbn($message, $attribute) /** * Replace all place-holders for the isin rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceIsin($message, $attribute) @@ -801,10 +679,8 @@ public function replaceIsin($message, $attribute) /** * Replace all place-holders for the ismn rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceIsmn($message, $attribute) @@ -815,10 +691,8 @@ public function replaceIsmn($message, $attribute) /** * Replace all place-holders for the iswc rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceIswc($message, $attribute) @@ -829,10 +703,8 @@ public function replaceIswc($message, $attribute) /** * Replace all place-holders for the mac rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceMac($message, $attribute) @@ -843,10 +715,8 @@ public function replaceMac($message, $attribute) /** * Replace all place-holders for the nif rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceNif($message, $attribute) @@ -857,10 +727,8 @@ public function replaceNif($message, $attribute) /** * Replace all place-holders for the organisme_type12_norme_b2 rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceOrganismeType12NormeB2($message, $attribute) @@ -871,10 +739,6 @@ public function replaceOrganismeType12NormeB2($message, $attribute) /** * Replace all place-holders for the phonenumber rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter * @return mixed */ protected function replacePhonenumber($message, $attribute, /** @scrutinizer ignore-unused */ $rule, $parameter) @@ -890,10 +754,8 @@ protected function replacePhonenumber($message, $attribute, /** @scrutinizer ign /** * Replace all place-holders for the sedol rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceSedol($message, $attribute) @@ -904,10 +766,8 @@ public function replaceSedol($message, $attribute) /** * Replace all place-holders for the siren rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceSiren($message, $attribute) @@ -918,10 +778,8 @@ public function replaceSiren($message, $attribute) /** * Replace all place-holders for the siret rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceSiret($message, $attribute) @@ -932,10 +790,8 @@ public function replaceSiret($message, $attribute) /** * Replace all place-holders for the sscc rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceSscc($message, $attribute) @@ -946,10 +802,8 @@ public function replaceSscc($message, $attribute) /** * Replace all place-holders for the ssn rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceSSn($message, $attribute) @@ -960,10 +814,8 @@ public function replaceSSn($message, $attribute) /** * Replace all place-holders for the structured_communication rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceStructuredCommunication($message, $attribute) @@ -974,10 +826,8 @@ public function replaceStructuredCommunication($message, $attribute) /** * Replace all place-holders for the swift_bic rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceSwiftBic($message, $attribute) @@ -988,10 +838,8 @@ public function replaceSwiftBic($message, $attribute) /** * Replace all place-holders for the udi rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceUdi($message, $attribute) @@ -1002,10 +850,8 @@ public function replaceUdi($message, $attribute) /** * Replace all place-holders for the uknin rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceUknin($message, $attribute) @@ -1016,10 +862,8 @@ public function replaceUknin($message, $attribute) /** * Replace all place-holders for the upca rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceUpca($message, $attribute) @@ -1030,10 +874,8 @@ public function replaceUpca($message, $attribute) /** * Replace all place-holders for the vat rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter + * @param $rule + * @param $parameter * @return mixed */ public function replaceVat($message, $attribute) @@ -1044,10 +886,6 @@ public function replaceVat($message, $attribute) /** * Replace all place-holders for the zipcode rule * - * @param $message - * @param $attribute - * @param $rule - * @param $parameter * @return mixed */ public function replaceZipcode($message, $attribute, /** @scrutinizer ignore-unused */ $rule, $parameter) diff --git a/tests/IsoCodesValidatorTest.php b/tests/IsoCodesValidatorTest.php index fe4312d..037693d 100644 --- a/tests/IsoCodesValidatorTest.php +++ b/tests/IsoCodesValidatorTest.php @@ -6,12 +6,12 @@ class IsoCodesValidatorTest extends TestCase { - /** * Test the correct error messages ist returned * with all pace holder replaced * * _@test + * * @dataProvider invalidDataProvider */ public function validator_returns_correct_error_message($payload, $rules, $expected) @@ -25,9 +25,11 @@ public function validator_returns_correct_error_message($payload, $rules, $expec * Test each validator returns true for valid data * * _@test + * * @dataProvider validDataProvider - * @param $payload - * @param $rules + * + * @param $payload + * @param $rules */ public function it_validates_correctly($field, $value) { @@ -40,19 +42,21 @@ public function it_validates_correctly($field, $value) * Test each validator with a reference value returns true for valid data * * _@test + * * @dataProvider validDataWithReferencesProvider - * @param $payload - * @param $rules + * + * @param $payload + * @param $rules */ - public function it_validates_correctly_with_references($field, $value, $referenceField='', $referenceValue='') + public function it_validates_correctly_with_references($field, $value, $referenceField = '', $referenceValue = '') { $payload = [ $field => $value, - $referenceField => $referenceValue + $referenceField => $referenceValue, ]; $rules = [ - $field => "{$field}:{$referenceField}" + $field => "{$field}:{$referenceField}", ]; $validator = Validator::make($payload, $rules); @@ -67,7 +71,7 @@ public function it_validates_correctly_with_references($field, $value, $referenc */ public function validDataProvider() { - return include_once(__DIR__.'/fixtures/valid.php'); + return include_once __DIR__.'/fixtures/valid.php'; } /** @@ -77,7 +81,7 @@ public function validDataProvider() */ public function invalidDataProvider() { - return include_once(__DIR__.'/fixtures/invalid.php'); + return include_once __DIR__.'/fixtures/invalid.php'; } /** @@ -87,7 +91,7 @@ public function invalidDataProvider() */ public function validDataWithReferencesProvider() { - return include_once(__DIR__.'/fixtures/valid_with_references.php'); + return include_once __DIR__.'/fixtures/valid_with_references.php'; } /** @@ -97,7 +101,7 @@ public function validDataWithReferencesProvider() */ public function validDataWithDotNotationProvider() { - return include_once(__DIR__.'/fixtures/valid_wit_dot_notation.php'); + return include_once __DIR__.'/fixtures/valid_wit_dot_notation.php'; } /** @@ -107,7 +111,7 @@ public function validDataWithDotNotationProvider() */ public function invalidDataWithDotNotationProvider() { - return include_once(__DIR__.'/fixtures/invalid_wit_dot_notation.php'); + return include_once __DIR__.'/fixtures/invalid_wit_dot_notation.php'; } /** @@ -115,12 +119,13 @@ public function invalidDataWithDotNotationProvider() * and returns true for valid data * * _@test + * * @dataProvider validDataWithDotNotationProvider */ public function it_validates_correctly_with_dot_notation($data, $rule) { $payload = [ - 'data' => $data + 'data' => $data, ]; $validator = Validator::make($payload, $rule); @@ -134,12 +139,13 @@ public function it_validates_correctly_with_dot_notation($data, $rule) * on arrays with dot notation * * _@test + * * @dataProvider invalidDataWithDotNotationProvider */ public function validator_returns_correct_error_message_with_dot_notation($data, $rule, $error_message) { $payload = [ - 'data' => $data + 'data' => $data, ]; $validator = Validator::make($payload, $rule); diff --git a/tests/fixtures/invalid.php b/tests/fixtures/invalid.php index 8074852..6ebfdf8 100644 --- a/tests/fixtures/invalid.php +++ b/tests/fixtures/invalid.php @@ -4,42 +4,42 @@ // BBAN [ 'payload' => [ - 'bban' => 'invalid' + 'bban' => 'invalid', ], 'rules' => [ - 'bban' => 'bban' + 'bban' => 'bban', ], - 'message' => 'The value "invalid" of bban is not a valid BBAN code.' + 'message' => 'The value "invalid" of bban is not a valid BBAN code.', ], // BSN [ 'payload' => [ - 'bsn' => 'invalid' + 'bsn' => 'invalid', ], 'rules' => [ - 'bsn' => 'bsn' + 'bsn' => 'bsn', ], - 'message' => 'The value "invalid" of bsn is not a valid BSN.' + 'message' => 'The value "invalid" of bsn is not a valid BSN.', ], // CIF [ 'payload' => [ - 'cif' => 'invalid' + 'cif' => 'invalid', ], 'rules' => [ - 'cif' => 'cif' + 'cif' => 'cif', ], - 'message' => 'The value "invalid" of cif is not a valid CIF code.' + 'message' => 'The value "invalid" of cif is not a valid CIF code.', ], // CREDITCARD [ 'payload' => [ - 'creditcard' => 'invalid' + 'creditcard' => 'invalid', ], 'rules' => [ - 'creditcard' => 'creditcard' + 'creditcard' => 'creditcard', ], - 'message' => 'The value "invalid" of creditcard is not a valid credit card number.' + 'message' => 'The value "invalid" of creditcard is not a valid credit card number.', ], // EAN8 // temporarily disabed because there's an error in src/IsocoDes/Ean8.php @@ -55,325 +55,325 @@ // EAN13 [ 'payload' => [ - 'ean13' => 'invalid' + 'ean13' => 'invalid', ], 'rules' => [ - 'ean13' => 'ean13' + 'ean13' => 'ean13', ], - 'message' => 'The value "invalid" of ean13 is not a valid EAN13 code.' + 'message' => 'The value "invalid" of ean13 is not a valid EAN13 code.', ], // GDTI [ 'payload' => [ - 'gdti' => 'invalid' + 'gdti' => 'invalid', ], 'rules' => [ - 'gdti' => 'gdti' + 'gdti' => 'gdti', ], - 'message' => 'The value "invalid" of gdti is not a valid Global Document Type Identifier (GDTI).' + 'message' => 'The value "invalid" of gdti is not a valid Global Document Type Identifier (GDTI).', ], // GLN [ 'payload' => [ - 'gln' => 'invalid' + 'gln' => 'invalid', ], 'rules' => [ - 'gln' => 'gln' + 'gln' => 'gln', ], - 'message' => 'The value "invalid" of gln is not a valid Global Location Number (GLN).' + 'message' => 'The value "invalid" of gln is not a valid Global Location Number (GLN).', ], // GRAI [ 'payload' => [ - 'grai' => 'invalid' + 'grai' => 'invalid', ], 'rules' => [ - 'grai' => 'grai' + 'grai' => 'grai', ], - 'message' => 'The value "invalid" of grai is not a valid Global Returnable Asset Identifier.' + 'message' => 'The value "invalid" of grai is not a valid Global Returnable Asset Identifier.', ], // GSRN [ 'payload' => [ - 'gsrn' => 'invalid' + 'gsrn' => 'invalid', ], 'rules' => [ - 'gsrn' => 'gsrn' + 'gsrn' => 'gsrn', ], - 'message' => 'The value "invalid" of gsrn is not a valid Global Service Relation Number (GS1).' + 'message' => 'The value "invalid" of gsrn is not a valid Global Service Relation Number (GS1).', ], // GTIN8 [ 'payload' => [ - 'gtin8' => 'invalid' + 'gtin8' => 'invalid', ], 'rules' => [ - 'gtin8' => 'gtin8' + 'gtin8' => 'gtin8', ], - 'message' => 'The value "invalid" of gtin8 is not a valid GTIN-8 code.' + 'message' => 'The value "invalid" of gtin8 is not a valid GTIN-8 code.', ], // GTIN12 [ 'payload' => [ - 'gtin12' => 'invalid' + 'gtin12' => 'invalid', ], 'rules' => [ - 'gtin12' => 'gtin12' + 'gtin12' => 'gtin12', ], - 'message' => 'The value "invalid" of gtin12 is not a valid GTIN-12 code.' + 'message' => 'The value "invalid" of gtin12 is not a valid GTIN-12 code.', ], // GTIN13 [ 'payload' => [ - 'gtin13' => 'invalid' + 'gtin13' => 'invalid', ], 'rules' => [ - 'gtin13' => 'gtin13' + 'gtin13' => 'gtin13', ], - 'message' => 'The value "invalid" of gtin13 is not a valid GTIN-13 code.' + 'message' => 'The value "invalid" of gtin13 is not a valid GTIN-13 code.', ], // GTIN14 [ 'payload' => [ - 'gtin14' => 'invalid' + 'gtin14' => 'invalid', ], 'rules' => [ - 'gtin14' => 'gtin14' + 'gtin14' => 'gtin14', ], - 'message' => 'The value "invalid" of gtin14 is not a valid GTIN-14 code.' + 'message' => 'The value "invalid" of gtin14 is not a valid GTIN-14 code.', ], // IBAN [ 'payload' => [ - 'iban' => 'invalid' + 'iban' => 'invalid', ], 'rules' => [ - 'iban' => 'iban' + 'iban' => 'iban', ], - 'message' => 'The value "invalid" of iban is not a valid IBAN.' + 'message' => 'The value "invalid" of iban is not a valid IBAN.', ], // INSEE [ 'payload' => [ - 'insee' => 'invalid' + 'insee' => 'invalid', ], 'rules' => [ - 'insee' => 'insee' + 'insee' => 'insee', ], - 'message' => 'The value "invalid" of insee is not a valid INSEE code.' + 'message' => 'The value "invalid" of insee is not a valid INSEE code.', ], // IP [ 'payload' => [ - 'ipaddress' => 'invalid' + 'ipaddress' => 'invalid', ], 'rules' => [ - 'ipaddress' => 'ipaddress' + 'ipaddress' => 'ipaddress', ], - 'message' => 'The value "invalid" of ipaddress is not a valid ip address.' + 'message' => 'The value "invalid" of ipaddress is not a valid ip address.', ], // ISBN [ 'payload' => [ 'isbn' => 'invalid', - 'type' => 13 + 'type' => 13, ], 'rules' => [ - 'isbn' => 'isbn:type' + 'isbn' => 'isbn:type', ], - 'message' => 'The value "invalid" of isbn is not a valid ISBN.' + 'message' => 'The value "invalid" of isbn is not a valid ISBN.', ], // ISIN [ 'payload' => [ - 'isin' => 'invalid' + 'isin' => 'invalid', ], 'rules' => [ - 'isin' => 'isin' + 'isin' => 'isin', ], - 'message' => 'The value "invalid" of isin is not a valid ISIN.' + 'message' => 'The value "invalid" of isin is not a valid ISIN.', ], // ISMN [ 'payload' => [ - 'ismn' => 'invalid' + 'ismn' => 'invalid', ], 'rules' => [ - 'ismn' => 'ismn' + 'ismn' => 'ismn', ], 'message' => 'The value "invalid" of ismn is not a valid International Standard Music Number or ISMN (ISO 10957)', ], // ISWC [ 'payload' => [ - 'iswc' => 'invalid' + 'iswc' => 'invalid', ], 'rules' => [ - 'iswc' => 'iswc' + 'iswc' => 'iswc', ], - 'message' => 'The value "invalid" of iswc is not a valid International Standard Musical Work Code (ISWC)' + 'message' => 'The value "invalid" of iswc is not a valid International Standard Musical Work Code (ISWC)', ], // MAC [ 'payload' => [ - 'mac' => 'invalid' + 'mac' => 'invalid', ], 'rules' => [ - 'mac' => 'mac' + 'mac' => 'mac', ], - 'message' => 'The value "invalid" of mac is not a valid MAC address.' + 'message' => 'The value "invalid" of mac is not a valid MAC address.', ], // NIF [ 'payload' => [ - 'nif' => 'invalid' + 'nif' => 'invalid', ], 'rules' => [ - 'nif' => 'nif' + 'nif' => 'nif', ], - 'message' => 'The value "invalid" of nif is not a valid NIF.' + 'message' => 'The value "invalid" of nif is not a valid NIF.', ], // ORGANISME_TYPE12_NORME_B2 [ 'payload' => [ 'organisme_type12_norme_b2' => 'invalid', - 'clef' => 2 + 'clef' => 2, ], 'rules' => [ - 'organisme_type12_norme_b2' => 'organisme_type12_norme_b2:clef' + 'organisme_type12_norme_b2' => 'organisme_type12_norme_b2:clef', ], - 'message' => 'The value "invalid" of organisme type12 norme b2 is not a valid Organisme Type12 Norme B2.' + 'message' => 'The value "invalid" of organisme type12 norme b2 is not a valid Organisme Type12 Norme B2.', ], // PHONE NUMBER [ 'payload' => [ 'country' => 'GB', - 'phonenumber' => 'invalid' + 'phonenumber' => 'invalid', ], 'rules' => [ - 'phonenumber' => 'phonenumber:country' + 'phonenumber' => 'phonenumber:country', ], - 'message' => 'The value "invalid" of phonenumber is not valid for "GB".' + 'message' => 'The value "invalid" of phonenumber is not valid for "GB".', ], // SEDOL [ 'payload' => [ - 'sedol' => 'invalid' + 'sedol' => 'invalid', ], 'rules' => [ - 'sedol' => 'sedol' + 'sedol' => 'sedol', ], - 'message' => 'The value "invalid" of sedol is not a valid SEDOL.' + 'message' => 'The value "invalid" of sedol is not a valid SEDOL.', ], // SIREN [ 'payload' => [ - 'siren' => 'invalid' + 'siren' => 'invalid', ], 'rules' => [ - 'siren' => 'siren' + 'siren' => 'siren', ], - 'message' => 'The value "invalid" of siren is not a valid SIREN code.' + 'message' => 'The value "invalid" of siren is not a valid SIREN code.', ], // SIRET [ 'payload' => [ - 'siret' => 'invalid' + 'siret' => 'invalid', ], 'rules' => [ - 'siret' => 'siret' + 'siret' => 'siret', ], - 'message' => 'The value "invalid" of siret is not a valid SIRET code.' + 'message' => 'The value "invalid" of siret is not a valid SIRET code.', ], // SSCC [ 'payload' => [ - 'sscc' => 'invalid' + 'sscc' => 'invalid', ], 'rules' => [ - 'sscc' => 'sscc' + 'sscc' => 'sscc', ], - 'message' => 'The value "invalid" of sscc is not a valid SSCC.' + 'message' => 'The value "invalid" of sscc is not a valid SSCC.', ], // SSN [ 'payload' => [ - 'ssn' => 'invalid' + 'ssn' => 'invalid', ], 'rules' => [ - 'ssn' => 'ssn' + 'ssn' => 'ssn', ], - 'message' => 'The value "invalid" of ssn is not a valid SSN.' + 'message' => 'The value "invalid" of ssn is not a valid SSN.', ], // STRUCTURED_COMMUNICATION [ 'payload' => [ - 'structured_communication' => 'invalid' + 'structured_communication' => 'invalid', ], 'rules' => [ - 'structured_communication' => 'structured_communication' + 'structured_communication' => 'structured_communication', ], - 'message' => 'The value "invalid" of structured communication is not a valid structured communication code.' + 'message' => 'The value "invalid" of structured communication is not a valid structured communication code.', ], // SWIFT_BIC [ 'payload' => [ - 'swift_bic' => 'invalid' + 'swift_bic' => 'invalid', ], 'rules' => [ - 'swift_bic' => 'swift_bic' + 'swift_bic' => 'swift_bic', ], - 'message' => 'The value "invalid" of swift bic is not a valid SWIFT/BIC.' + 'message' => 'The value "invalid" of swift bic is not a valid SWIFT/BIC.', ], // UDI [ 'payload' => [ - 'udi' => 'invalid' + 'udi' => 'invalid', ], 'rules' => [ - 'udi' => 'udi' + 'udi' => 'udi', ], - 'message' => 'The value "invalid" of udi is not a valid UDI.' + 'message' => 'The value "invalid" of udi is not a valid UDI.', ], // UKNIN [ 'payload' => [ - 'uknin' => 'invalid' + 'uknin' => 'invalid', ], 'rules' => [ - 'uknin' => 'uknin' + 'uknin' => 'uknin', ], - 'message' => 'The value "invalid" of uknin is not a valid UK National Insurance Number.' + 'message' => 'The value "invalid" of uknin is not a valid UK National Insurance Number.', ], // UPCA [ 'payload' => [ - 'upca' => 'invalid' + 'upca' => 'invalid', ], 'rules' => [ - 'upca' => 'upca' + 'upca' => 'upca', ], - 'message' => 'The value "invalid" of upca is not a valid UPCA.' + 'message' => 'The value "invalid" of upca is not a valid UPCA.', ], // VAT [ 'payload' => [ - 'vat' => 'invalid' + 'vat' => 'invalid', ], 'rules' => [ - 'vat' => 'vat' + 'vat' => 'vat', ], - 'message' => 'The value "invalid" of vat is not a valid VAT.' + 'message' => 'The value "invalid" of vat is not a valid VAT.', ], // ZIPCODE [ 'payload' => [ 'country' => 'GB', - 'zipcode' => 63741 + 'zipcode' => 63741, ], 'rules' => [ - 'zipcode' => 'zipcode:country' + 'zipcode' => 'zipcode:country', ], - 'message' => 'The value "63741" of zipcode is not valid for "GB".' + 'message' => 'The value "63741" of zipcode is not valid for "GB".', ], ]; diff --git a/tests/fixtures/invalid_wit_dot_notation.php b/tests/fixtures/invalid_wit_dot_notation.php index 36f1d0f..8827973 100644 --- a/tests/fixtures/invalid_wit_dot_notation.php +++ b/tests/fixtures/invalid_wit_dot_notation.php @@ -5,72 +5,72 @@ 'data' => [ [ 'country' => 'DE', - 'zipcode' => 'invalid' + 'zipcode' => 'invalid', ], [ 'country' => 'AT', - 'zipcode' => 'invalid' - ] + 'zipcode' => 'invalid', + ], ], 'rule' => [ - 'data.*.zipcode' => 'zipcode:data.*.country' + 'data.*.zipcode' => 'zipcode:data.*.country', ], 'errors' => [ - 'The value "invalid" of data.0.zipcode is not valid for "DE".' - ] + 'The value "invalid" of data.0.zipcode is not valid for "DE".', + ], ], [ 'data' => [ [ 'country' => 'DE', - 'phonenumber' => 'invalid' + 'phonenumber' => 'invalid', ], [ 'country' => 'US', - 'phonenumber' => 'invalid' - ] + 'phonenumber' => 'invalid', + ], ], 'rule' => [ - 'data.*.phonenumber' => 'phonenumber:data.*.country' + 'data.*.phonenumber' => 'phonenumber:data.*.country', ], 'errors' => [ - 'The value "invalid" of data.0.phonenumber is not valid for "DE".' - ] + 'The value "invalid" of data.0.phonenumber is not valid for "DE".', + ], ], [ 'data' => [ [ 'type' => 10, - 'isbn' => 'invalid' + 'isbn' => 'invalid', ], [ 'type' => 13, - 'isbn' => 'invalid' - ] + 'isbn' => 'invalid', + ], ], 'rule' => [ - 'data.*.isbn' => 'isbn:data.*.type' + 'data.*.isbn' => 'isbn:data.*.type', ], 'errors' => [ - 'The value "invalid" of data.0.isbn is not a valid ISBN.' - ] + 'The value "invalid" of data.0.isbn is not a valid ISBN.', + ], ], [ 'data' => [ [ 'clef' => 2, - 'organisme_type12_norme_b2' => 'invalid' + 'organisme_type12_norme_b2' => 'invalid', ], [ 'clef' => 2, - 'organisme_type12_norme_b2' => 'invalid' - ] + 'organisme_type12_norme_b2' => 'invalid', + ], ], 'rule' => [ - 'data.*.organisme_type12_norme_b2' => 'organisme_type12_norme_b2:data.*.clef' + 'data.*.organisme_type12_norme_b2' => 'organisme_type12_norme_b2:data.*.clef', ], 'errors' => [ - 'The value "invalid" of data.0.organisme_type12_norme_b2 is not a valid Organisme Type12 Norme B2.' - ] - ] + 'The value "invalid" of data.0.organisme_type12_norme_b2 is not a valid Organisme Type12 Norme B2.', + ], + ], ]; diff --git a/tests/fixtures/invalid_with_references.php b/tests/fixtures/invalid_with_references.php index 2805014..dbe4767 100644 --- a/tests/fixtures/invalid_with_references.php +++ b/tests/fixtures/invalid_with_references.php @@ -4,5 +4,5 @@ ['isbn', '978-88-8183-718-2', 'type', 13], ['organisme_type12_norme_b2', '76031208', 'clef', 2], ['phonenumber', '+1-650-798-2800', 'country', 'US'], - ['zipcode', '1234AA', 'country', 'NL'] + ['zipcode', '1234AA', 'country', 'NL'], ]; diff --git a/tests/fixtures/valid_wit_dot_notation.php b/tests/fixtures/valid_wit_dot_notation.php index 8173a5f..1497406 100644 --- a/tests/fixtures/valid_wit_dot_notation.php +++ b/tests/fixtures/valid_wit_dot_notation.php @@ -5,60 +5,60 @@ 'data' => [ [ 'country' => 'DE', - 'zipcode' => 63741 + 'zipcode' => 63741, ], [ 'country' => 'AT', - 'zipcode' => 1180 - ] + 'zipcode' => 1180, + ], ], 'rule' => [ - 'data.*.zipcode' => 'zipcode:data.*.country' - ] + 'data.*.zipcode' => 'zipcode:data.*.country', + ], ], [ 'data' => [ [ 'country' => 'DE', - 'phonenumber' => '035384-08723' + 'phonenumber' => '035384-08723', ], [ 'country' => 'US', - 'phonenumber' => '+1-650-798-2800' - ] + 'phonenumber' => '+1-650-798-2800', + ], ], 'rule' => [ - 'data.*.phonenumber' => 'phonenumber:data.*.country' - ] + 'data.*.phonenumber' => 'phonenumber:data.*.country', + ], ], [ 'data' => [ [ 'type' => 10, - 'isbn' => '3-598-21500-2' + 'isbn' => '3-598-21500-2', ], [ 'type' => 13, - 'isbn' => '978-88-8183-718-2' - ] + 'isbn' => '978-88-8183-718-2', + ], ], 'rule' => [ - 'data.*.isbn' => 'isbn:data.*.type' - ] + 'data.*.isbn' => 'isbn:data.*.type', + ], ], [ 'data' => [ [ 'clef' => 2, - 'organisme_type12_norme_b2' => '76031208' + 'organisme_type12_norme_b2' => '76031208', ], [ 'clef' => 2, - 'organisme_type12_norme_b2' => '76031208' - ] + 'organisme_type12_norme_b2' => '76031208', + ], ], 'rule' => [ - 'data.*.organisme_type12_norme_b2' => 'organisme_type12_norme_b2:data.*.clef' - ] - ] + 'data.*.organisme_type12_norme_b2' => 'organisme_type12_norme_b2:data.*.clef', + ], + ], ]; diff --git a/tests/fixtures/valid_with_references.php b/tests/fixtures/valid_with_references.php index 2805014..dbe4767 100644 --- a/tests/fixtures/valid_with_references.php +++ b/tests/fixtures/valid_with_references.php @@ -4,5 +4,5 @@ ['isbn', '978-88-8183-718-2', 'type', 13], ['organisme_type12_norme_b2', '76031208', 'clef', 2], ['phonenumber', '+1-650-798-2800', 'country', 'US'], - ['zipcode', '1234AA', 'country', 'NL'] + ['zipcode', '1234AA', 'country', 'NL'], ]; From 730a4316a0d7bb352ba6580d691955b4307e7b6c Mon Sep 17 00:00:00 2001 From: pixelpeter Date: Mon, 14 Oct 2024 01:11:20 +0200 Subject: [PATCH 3/4] FIX: php and laravel versions incomposer.json --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index ac3c8eb..ccc9cbe 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ } ], "require": { - "php": "^7.3|^8.0", + "php": "^8.0|^8.1|^8.2", "ronanguilloux/isocodes": "^2.3.5" }, "autoload": { @@ -38,7 +38,7 @@ "phpunit/phpunit": "^9.5", "mockery/mockery": "^1.2", "php-coveralls/php-coveralls": "^2.7", - "laravel/laravel": "8.*", + "laravel/laravel": "^8.0|^9.0|^10.0", "phpstan/extension-installer": "^1.4" }, "extra": { From 4db6ef1c1442738ff7226549d82e27d57907f909 Mon Sep 17 00:00:00 2001 From: pixelpeter Date: Mon, 14 Oct 2024 01:34:41 +0200 Subject: [PATCH 4/4] UPDATE: readme --- README.md | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 88ca56f..1ab1b52 100644 --- a/README.md +++ b/README.md @@ -3,25 +3,29 @@ [![Latest Version on Packagist](https://img.shields.io/packagist/v/pixelpeter/laravel-isocodes-validation.svg?style=flat-square&t=123)](https://packagist.org/packages/pixelpeter/laravel-isocodes-validation) [![Total Downloads](https://img.shields.io/packagist/dt/pixelpeter/laravel-isocodes-validation.svg?style=flat-square)](https://packagist.org/packages/pixelpeter/laravel-isocodes-validation) [![Software License](https://img.shields.io/badge/license-GPL-brightgreen.svg?style=flat-square)](LICENSE.md) -[![Travis Build](https://img.shields.io/travis/pixelpeter/laravel-isocodes-validation/master.svg?style=flat-square)](https://api.travis-ci.com/pixelpeter/laravel-isocodes-validation) -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/pixelpeter/laravel-isocodes-validation/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/pixelpeter/laravel-isocodes-validation/?branch=master) -[![Build Status](https://scrutinizer-ci.com/g/pixelpeter/laravel-isocodes-validation/badges/build.png?b=master)](https://scrutinizer-ci.com/g/pixelpeter/laravel-isocodes-validation/build-status/master) -[![Code Intelligence Status](https://scrutinizer-ci.com/g/pixelpeter/laravel-isocodes-validation/badges/code-intelligence.svg?b=master)](https://scrutinizer-ci.com/code-intelligence) [![Coverage Status](https://coveralls.io/repos/github/pixelpeter/laravel-isocodes-validation/badge.svg?branch=master)](https://coveralls.io/github/pixelpeter/laravel-isocodes-validation?branch=master) +[![Tests](https://github.com/pixelpeter/laravel-isocodes-validation/actions/workflows/run-tests.yml/badge.svg?branch=master)](https://github.com/pixelpeter/laravel-isocodes-validation/actions/workflows/run-tests.yml) +[![Fix PHP code style issues](https://github.com/pixelpeter/laravel-isocodes-validation/actions/workflows/fix-php-code-style-issues.yml/badge.svg)](https://github.com/pixelpeter/laravel-isocodes-validation/actions/workflows/fix-php-code-style-issues.yml) +[![PHPStan](https://github.com/pixelpeter/laravel-isocodes-validation/actions/workflows/phpstan.yml/badge.svg)](https://github.com/pixelpeter/laravel-isocodes-validation/actions/workflows/phpstan.yml) +[![dependabot-auto-merge](https://github.com/pixelpeter/laravel-isocodes-validation/actions/workflows/dependabot-auto-merge.yml/badge.svg)](https://github.com/pixelpeter/laravel-isocodes-validation/actions/workflows/dependabot-auto-merge.yml) -A simple Laravel 8+ wrapper for the [IsoCodes Validation library](https://github.com/ronanguilloux/IsoCodes) from ronanguilloux. +A simple Laravel 8+ wrapper for the [IsoCodes Validation library](https://github.com/ronanguilloux/IsoCodes) from +ronanguilloux. ## Installation ### Step 1: Install Through Composer + ``` bash composer require pixelpeter/laravel-isocodes-validation ``` ### Step 2: Add the Service Provider + *(not needed starting with v2.x because of auto discovery)* Add the service provider in `app/config/app.php` + ```php 'provider' => [ ... @@ -47,6 +51,7 @@ $validator = Validator::make($payload, $rules); ``` ### Examples with reference parameter + Some rules need a reference to be validated against (e.g. `country` for `zipcode`). Just pass the name of the field holding the reference to the rule. @@ -76,6 +81,7 @@ $validator = Validator::make($payload, $rules); ``` ### Example with arrays and dot notation + *(added in v3.x)* As suggested by @otr-tomek I've added support for all validation methods using arrays in dot notation as an input. @@ -100,7 +106,9 @@ $validator = Validator::make($payload, [ ``` ### Validation error messages + Error messages can contain the name and value of the field and the value of the reference + ```php $payload = [ 'phonenumber' => 'invalid', @@ -116,10 +124,13 @@ print $validator->errors()->first(); // The value "invalid" of phonenumber is no ``` ### More Examples + Refer to [IsoCodes Validation library](https://github.com/ronanguilloux/IsoCodes) for more examples and documentation. ## Testing + Run the tests with: + ```bash vendor/bin/phpunit ```