Code Monkey home page Code Monkey logo

gtin's Introduction

GTIN / EAN / UPC Validation for Laravel

PHP version Latest Version on Packagist Software License Tests Code style Total Downloads

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.

gtin's People

Contributors

mvdnbrk avatar marcelhoogantink avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.