becklyn / vatin-bundle
Symfony 为 VATIN 库提供的包
2.4.0
2022-02-21 08:03 UTC
Requires
- php: >=7.4
- ddeboer/vatin: ^2.2.2
- symfony/config: ^v5.4.3 || ^v6.0.3
- symfony/dependency-injection: ^v5.4.3 || ^v6.0.3
- symfony/http-kernel: ^v5.4.3 || ^v6.0.3
- symfony/validator: ^v5.4.3 || ^v6.0.3
Requires (Dev)
- doctrine/annotations: ^1.13.2
- roave/security-advisories: dev-latest
- symfony/framework-bundle: ^v5.4.3 || ^v6.0.3
- symfony/phpunit-bridge: ^5.4.3 || ^6.0.3
- symfony/yaml: ^v5.4.3 || ^v6.0.3
README
为 VATIN 库 提供的 Symfony 包。
安装
此库可在 Packagist 上找到
composer require ddeboer/vatin-bundle
然后添加此包到您的应用程序中
// app/AppKernel.php public function registerBundles() { return [ ... new Ddeboer\VatinBundle\DdeboerVatinBundle(), ... ]; }
使用方法
验证数字格式
使用验证器验证模型上的属性。例如使用注解
use Ddeboer\VatinBundle\Validator\Constraints\Vatin; class Company { /** * @Vatin */ protected $vatNumber;
Symfony 的验证器现在将检查 $vatNumber
是否有有效的增值税号格式。更多信息请参阅 Symfony 文档。
验证数字是否存在
此外,您可以检查增值税号是否已被使用
use Ddeboer\VatinBundle\Validator\Constraints\Vatin; /** * @Vatin(checkExistence=true) */ protected $vatNumber;
验证器现在将增值税号与 VAT 信息交换系统 (VIES) SOAP 网络服务进行比较。该服务的可用性相当不可靠,因此,如果它不可用,捕获此情况是个好主意
use Symfony\Component\Validator\Exception\ValidatorException; try { if ($validator->isValid()) { // Happy flow } } catch (ValidatorException $e) { // VAT could not be validated because VIES service is unreachable }
直接使用服务
您还可以直接使用此包的服务。验证增值税号的格式
$validator = $container->get('ddeboer_vatin.vatin_validator'); $bool = $validator->isValid('NL123456789B01');
此外,检查增值税号是否已被使用
$bool = $validator->isValid('NL123456789B01', true);
与 VIES Web 服务交互
$vies = $container->get('ddeboer_vatin.vies.client'); $checkVatResponse = $vies->checkVat('NL', '123456789B01');
更多信息
有关更多信息,请参阅 VATIN 库的文档。