Code Monkey home page Code Monkey logo

validator-docs-passaporte's Introduction

Validator Docs - Brasil

Biblioteca PHP para validação de documentos do Brasil usando Laravel

Build Status Coverage Status PHPStan Monthly Downloads Total Downloads License

Por favor, considere fazer uma doação, apoie nossas atividades

Para a versão legada compatível com Laravel 5 consulte o branch https://github.com/geekcom/validator-docs/tree/5.x.x

Recursos

  • Validar qualquer documento do Brasil;
  • Código testado e confiável;
  • Open Source;
  • Usado por milhares de sistemas;
  • Aprovado pela comunidade Laravel.

Instalação

No arquivo composer.json, adicione validator-docs como dependência do seu projeto:

"require": {
    "geekcom/validator-docs" : "^3.9"
 },

Depois execute:

composer install

Ou simplesmente execute o comando:

composer require geekcom/validator-docs

Testes

Para executar os testes, basta fazer o seguinte:

  • Instale as dependências do projeto;
composer install
  • Execute os testes.
composer test

Como usar a biblioteca

Agora que os métodos de validação validator-docs Brasil estão disponíveis, será possível usar da seguinte forma:

  • cpf - Verifica se um CPF é valido;
$this->validate($request, [
    'cpf' => 'required|cpf',
]);
  • cnpj - Verifica se um CNPJ é valido;
$this->validate($request, [
    'cnpj' => 'required|cnpj',
]);
  • cnh - Verifica se uma CNH (Carteira Nacional de Habilitação) é válida;
$this->validate($request, [
    'cnh' => 'required|cnh',
]);
  • titulo_eleitor - Verifica se um Título Eleitoral é válido;
$this->validate($request, [
    'titulo_eleitor' => 'required|titulo_eleitor',
]);
  • cpf_cnpj - Verifica se um CPF ou CNPJ é válido;
$this->validate($request, [
    'cpf_cnpj' => 'required|cpf_cnpj',
]);
  • inscricao_estadual - Verifica se uma Inscrição Estadual é valida para uma Unidade Federativa(UF)/Estado;
$this->validate($request, [
    'inscricao_estadual' => 'required|inscricao_estadual:UF',
]);
  • nis - Verifica se um PIS/PASEP/NIT/NIS é válido;
$this->validate($request, [
    'nis' => 'required|nis',
]);
  • cns - Verifica se um Cartão Nacional de Saúde (CNS) é válido;
$this->validate($request, [
    'cns' => 'required|cns',
]);
  • certidao - Verifica se uma certidão de nascimento/casamento/óbito é válida;
$this->validate($request, [
    'certidao' => 'required|certidao',
]);
  • renavam - Verifica se um Registro Nacional de Veículos Automotores (RENAVAM) é válido;
$this->validate($request, [
    'renavam' => 'required|renavam',
]);
  • placa - Verifica se a PLACA de um veículo é válida;
$this->validate($request, [
    'placa' => 'required|placa',
]);
  • ddd - Verifica se um número de DDD é válido;
$this->validate($request, [
    'ddd' => 'required|ddd',
]);
  • formato_cnpj - Verifica se o formato(99.999.999/9999-99) de um CNPJ é válido;
$this->validate($request, [
    'formato_cnpj' => 'required|formato_cnpj',
]);
  • formato_cpf - Verifica se o formato(999.999.999-99) de um CPF é válido;
$this->validate($request, [
    'formato_cpf' => 'required|formato_cpf',
]);
  • formato_cpf_cnpj - Verifica se o formato de um CPF ou de um CNPJ é válido;
$this->validate($request, [
    'formato_cpf_cnpj' => 'required|formato_cpf_cnpj',
]);
  • formato_nis - Verifica se o formato(999.99999-99.9) de um PIS/PASEP/NIT/NIS é válido;
$this->validate($request, [
    'formato_nis' => 'required|formato_nis',
]);
  • formato_certidao - Verifica se o formato(99999.99.99.9999.9.99999.999.9999999-99 ou 99999 99 99 9999 9 99999 999 9999999 99), de uma certidão é válida.
$this->validate($request, [
    'formato_certidao' => 'required|formato_certidao',
]);

Combinando validação e formato

No exemplo abaixo, fazemos um teste onde verificamos a formatação e a validade de um CPF ou CNPJ, para os casos onde a informação deve ser salva em um mesmo atributo:

$this->validate($request, [
    'cpf_or_cnpj' => 'formato_cpf_cnpj|cpf_cnpj',
]);

Exemplo de uso em um controller

Método de validação de exemplo em um controller com todas as possibilidades de validação

public function store(Request $request)
{
    $data = $request->all();

    $this->validate($request, [
        'cpf' => 'required|cpf',
        'cnpj' => 'required|cnpj',
        'cnh' => 'required|cnh',
        'titulo_eleitor' => 'required|titulo_eleitor',
        'nis' => 'required|nis',
        'cns' => 'required|cns',
        'ddd' => 'required|ddd',
        'renavam' => 'required|renavam',
        'placa' => 'required|placa',
        'certidao' => 'required|certidao',
        'inscricao_estadual' => 'required|inscricao_estadual:SP',
    ]);

    dd($data);
}

Observe que para validar uma inscrição estadual é necessário informar a UF


Geradores de documentos para testes

Fique a vontade para contribuir de qualquer forma.

Caso tenha alguma dúvida ou encontre algum bug, abra uma issue ou pesquise por issues antigas.

Contribuições de qualquer tipo são bem-vindas!

validator-docs-passaporte's People

Contributors

geekcom avatar allcontributors[bot] avatar andrergcosta avatar vicentimartins avatar omarkdev avatar mreko avatar lordantonelli avatar dependabot[bot] avatar rafael-neris avatar thicolares avatar victorhsanjos avatar tagliatti avatar hboavent avatar maingiron avatar yvescabral avatar setefocos 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.