mvdnbrk / gtin
GTIN / EAN / UPC Validation for Laravel
Fund package maintenance!
mvdnbrk
Installs: 45 713
Dependents: 1
Suggesters: 0
Security: 0
Stars: 29
Watchers: 2
Forks: 7
Open Issues: 0
Requires
- php: ^7.1 || ^8.0
- illuminate/support: ^5.5 || ^6.0 || ^7.0 || ^8.0|| ^9.0
- illuminate/validation: ^5.5|| ^6.0 || ^7.0 || ^8.0|| ^9.0
Requires (Dev)
- doctrine/dbal: ^2.9
- orchestra/testbench: ^3.5 || ^4.0 || ^5.0 || ^6.0
- phpunit/phpunit: ^7.0 || ^8.0 || ^9.3
README
Extension for the Laravel validation class.
Installation
You can install the package via composer:
$ composer require mvdnbrk/gtin
Usage
Now you can use the gtin
validation to validate a GTIN-8, GTIN-12, GTIN-13 or GTIN-14:
$this->validate($request, [ 'somefield' => 'gtin', ]);
Specifying a custom error message
You may publish the language files with the following artisan
command:
php artisan vendor:publish --tag=gtin-lang
Now you can customize the error message in resources/lang/vendor/gtin/{loale}/validation.php
.
Another option is to define the error message by adding your message to the custom
array in the resources/lang/{locale}/validation.php
language file.
'custom' => [ 'somefield' => [ 'gtin' => 'Please enter a valid GTIN!', ], ],
Or with a JSON file stored in resources/lang/{locale}.json
{ "validation.custom.somefield.gtin": "Please enter a valid GTIN!" }
Or you may pass custom messages as the third argument to the Validator::make
method as described in the Laravel documentation.
Helper function
This package exposes a is_gtin()
helper function to quickly validate a GTIN.
It will return a boolean
whether the given value is a valid GTIN or not:
is_gtin('1300000000000') // returns true is_gtin('1234567891234') // returns false
Migrations
This package contains a helper method to create a GTIN column in your database table:
Schema::table('products', function (Blueprint $table) { $table->gtin(); });
If you would like to customize the column name and/or length you may pass these as parameters:
$table->gtin('ean13', 13);
To drop the column you may use the dropGtin
method:
Schema::table('products', function (Blueprint $table) { $table->dropGtin(); // $table->dropGtin('ean13'); });
Testing
$ composer test
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.