mvdnbrk/gtin

GTIN / EAN / UPC 验证,适用于 Laravel

资助包维护!
mvdnbrk

v2.8.0 2022-03-07 11:21 UTC

README

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

用于 Laravel 验证类的扩展。

安装

您可以通过 composer 安装此包

$ composer require mvdnbrk/gtin

使用方法

现在您可以使用 gtin 验证来验证 GTIN-8、GTIN-12、GTIN-13 或 GTIN-14

$this->validate($request, [
    'somefield' => 'gtin',
]);

指定自定义错误消息

您可以使用以下 artisan 命令发布语言文件

php artisan vendor:publish --tag=gtin-lang

现在您可以在 resources/lang/vendor/gtin/{locale}/validation.php 中自定义错误消息。

另一种方法是定义错误消息,通过在 resources/lang/{locale}/validation.php 语言文件中的 custom 数组中添加您的消息。

'custom' => [
    'somefield' => [
        'gtin' => 'Please enter a valid GTIN!',
    ],
],

或者通过存储在 resources/lang/{locale}.json 中的 JSON 文件

{
    "validation.custom.somefield.gtin": "Please enter a valid GTIN!"
}

或者您可以将自定义消息作为第三个参数传递给 Validator::make 方法,具体请参阅 Laravel 文档

辅助函数

此包公开了一个 is_gtin() 辅助函数,用于快速验证 GTIN。
它将返回一个 boolean,表示给定的值是否是有效的 GTIN。

is_gtin('1300000000000')    // returns true
is_gtin('1234567891234')    // returns false

迁移

此包包含一个辅助方法,可以在您的数据库表中创建 GTIN 列

Schema::table('products', function (Blueprint $table) {
    $table->gtin();
});

如果您想自定义列名和/或长度,可以将这些作为参数传递

$table->gtin('ean13', 13);

要删除列,可以使用 dropGtin 方法

Schema::table('products', function (Blueprint $table) {
    $table->dropGtin();
    
    // $table->dropGtin('ean13');
});

测试

$ composer test

贡献

有关详细信息,请参阅 CONTRIBUTING

安全漏洞

请查看我们关于如何报告安全漏洞的 安全策略

鸣谢

许可协议

MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件