Skip to content

ricardonavarrom/VATINValidatorBundle

Repository files navigation

VATINValidatorBundle

Build Status Coverage Status Total Downloads SensioLabsInsight

A Symfony bundle for for validating VAT identification numbers (VATINs) based on VATINValidator PHP library.

Installation

This bundle is available on Packagist.

You can install this bundle using composer

$ composer require ricardonavarrom/vatin-validator-bundle

or add the package to your composer.json file directly.

After you have installed the package, you just need to add the bundle to your AppKernel.php file:

// in AppKernel::registerBundles()
$bundles = array(
    // ...
    new ricardonavarrom\VATINValidatorBundle\VATINValidatorBundle(),
    // ...
);

Configuration

VATINValidatorBundle requires no initial configuration to get you started.

Basic usage

The configured validator is available as ricardonavarrom.vatin_validator service. You must assign a valid locale (view availables locales section).

$locale = 'es';
$vatin = '56475114V';
$validator = $container->get('ricardonavarrom.vatin_validator');
$vatinIsValid = $validator->validate($vatin, $locale);

Another option is to use a located validator service as ricardonavarrom.vatin_validator.es (view availables locales section).

$vatin = '56475114V';
$locatedValidator = $container->get('ricardonavarrom.vatin_validator.es');
$vatinIsValid = $locatedValidator->validate($vatin);

Availables locales

Locale Country Local name
es Spain Número de Identificación Fiscal (for freelancers or singular persons), Número de Identidad de Extranjero (for foreigners) or Código de Identificación Fiscal (for companies)
pt Portugal Número de identificação fiscal (for freelancers or singular persons) or Número de Identificação de Pessoa Colectiva (for companies)
We are working to implement more availables locales.

Constraints

VATINValidatorBundle provides the following constraints:

Constraint Country Options
VATINEsConstraint Spain message: string (default: 'The VATIN "%vatin%" is not a valid "%validationModality%".'). allowLowerCase: boolean (default: true). validationModality: 'NIF', 'NIE' or 'CIF' (by default checks in all validation modalities).
VATINPtConstraint Portugal message: string (default: 'The VATIN "%vatin%" is not a valid "%validationModality%".'). validationModality: 'NIF' or 'NIPC' (by default checks in all validation modalities).
For example:
// src/AppBundle/Entity/Customer.php
namespace AppBundle\Entity;

use ricardonavarrom\VATINValidatorBundle\Validator\Constraints\VATINEsConstraint;

class Customer
{
    /**
     * @VATINEsConstraint(
     *  allowLowerCase = false,
     *  validationModality = "NIF"
     * )
     */
    private $vatin;
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages