Package
gtin-php
A PHP package for validating GTIN codes
v1.0.1135,386 downloads5 stars
A PHP Validator for the GTIN standard
A PHP package for validating GTIN codes for use in plain PHP and in Laravel.
Installation
You can install the package via composer:
composer require juststeveking/gtin-phpUsage PHP
If you are using a framework other than Laravel, or Laravel itself - you can use the Gtin class directly to validate aspects or the entire value passed in. You can check out the specifications for gtin and GS1 here.
Validating correct length
A GTIN is between 8 and 14 characters long.
use JustSteveKing\GtinPHP\Gtin;
$correct = 614141999996;$valid = Gtin::length($correct); // returns true
$incorrect = 123456;$failed = Gtin::length($incorrect); // returns falseValidating that it is an integer
A GTIN must be an integer value, in php you can easily use is_int() however I have provided a method here to also do the same thing:
use JustSteveKing\GtinPHP\Gtin;
$correct = 614141999996;$valid = Gtin::integer($correct); // returns true
$incorrect = '614141999996';$failed = Gtin::integer($incorrect); // returns falseInspecting the gtin and validating the check digit
The GTIN is formatted in a very specific way, this is documented fully in the specificas document
use JustSteveKing\GtinPHP\Gtin;
$correct = 614141999996;$valid = Gtin::inspect($correct); // returns true
$incorrect = 123456789;$failed = Gtin::inspect($incorrect); // returns falseValidating all aspects in one go
use JustSteveKing\GtinPHP\Gtin;
$correct = 614141999996;$valid = Gtin::validate($correct); // returns true
$incorrect = 123456789;$failed = Gtin::validate($incorrect); // returns falseValidating in Laravel
There is a Laravel Rule as well as a validation macro that gets registered with this package, please use in one of the following ways:
// using the class directlypublic function rules(){ return [ 'gtin' => [ 'required', new JustSteveKing\GtinPHP\Rules\Gtin, ] ];}// using the registered macropublic function rules(){ return [ 'gtin' => [ 'required', Rule::gtin(), ] ];}Feel free to use the Gtin class directly if that is more convinient.
Testing
composer testContributing
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.
Related
More Packages
mavis
Run a freelance business from plain files: clients, calls and follow-ups, time, quotes and invoices as Markdown, from one Go binary, with an MCP server for agents.
v0.1.3
PHPcloudevents
Cloud Events in PHP.
dev-main
PHPcompanies-house-laravel
A Laravel wrapper to get companies house information and validate company numbers
v1.2.0
Same subject
In other formats
Let's Build in Public with JustSteveKing: Creating a Unified Event Tracker
🚀 Welcome to "Let's Build in Public" with JustSteveKing! In this exciting livestream series, we're diving into the world of startup development, taking on the challenge of building a dynamic applicat
PHP & Laravel
ArticleValid validators validating data
Explore Laravel data validation methods, from form requests to centralizing rules with validators and Eloquent Models for cleaner, efficient code.
PHP & Laravel