danielebarbaro/laravel-vat-eu-validator

一个简单的包,用于验证欧盟增值税号与ec.europa.eu数据库中的中央数据库

v2.0.2 2024-09-16 07:14 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

laravel-vat-eu-validator 是一个由 vat.php 启发,用于验证欧洲地区企业的增值税号的包。

对于 Laravel 5,6,7 使用标签 0.5.4

对于 Laravel 7,8,9 使用标签 1.20

安装

您可以通过 composer 安装此包

composer require danielebarbaro/laravel-vat-eu-validator

包将自动注册自身

用法

use Danielebarbaro\LaravelVatEuValidator\Facades\VatValidatorFacade as VatValidator;

// Check VAT format and VIES existence
VatValidator::validate('IT12345');

// Check VAT format
VatValidator::validateFormat('IT12345678901'); 

// Check VAT existence
VatValidator::validateExistence('IT12345678901');

验证

该包注册了两个新的验证规则

vat_number

待验证的字段必须是有效的且存在的增值税号。

vat_number_exist

待验证的字段检查 id 是否是存在的增值税号。

vat_number_format

待验证的字段必须是有效的增值税号。

use Illuminate\Http\Request;

class Controller {

    public function foo(Request $request) 
    {
        $request->validate([
            'bar_field' => [new \Danielebarbaro\LaravelVatEuValidator\Rules\VatNumber()],
        ]);
        
        $request->validate([
            'bar_field' => [new \Danielebarbaro\LaravelVatEuValidator\Rules\VatNumberExist()],
        ]);
        
        $request->validate([
            'bar_field' => [new \Danielebarbaro\LaravelVatEuValidator\Rules\VatNumberFormat()],
       ]);
    }
}

或者,您也可以直接使用 Rule

use Illuminate\Http\Request;
use Danielebarbaro\LaravelVatEuValidator\Rules;

class Controller {

    public function foo(Request $request) 
    {
        $request->validate([
            'bar_field' => [ new \Danielebarbaro\LaravelVatEuValidator\Rules\VatNumber() ],
            'bar_field' => [ new \Danielebarbaro\LaravelVatEuValidator\Rules\VatNumberExist() ],
            'bar_field' => [ new \Danielebarbaro\LaravelVatEuValidator\Rules\VatNumberFormat() ],
        ]);
    }
}

翻译

大多数显示的字符串都定义在 vatEuValidator::validation 翻译文件中。该包包含一些支持的地区,但如果您的地区尚未包含,我们非常欢迎提交 PR。

如果尚未发布,您可以使用 php artisan vendor:publish --tag=laravel-vat-eu-validator-lang 编辑或填写翻译文件,这将把我们的翻译文件复制到您的应用的 vendor/laravelVatEuValidator "lang" 路径。

测试

composer test

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现任何与安全相关的问题,请通过电子邮件 barbaro.daniele@gmail.com 报告,而不是使用问题跟踪器。

鸣谢

贡献者

许可

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

Laravel 包模板

此包是用 Laravel 包模板 生成的。