GithubHelp home page GithubHelp logo

bagasstrongman / validator-docs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from geekcom/validator-docs

0.0 1.0 0.0 271 KB

Validação de CPF, CNPJ, CNH, NIS, Título Eleitoral e Cartão Nacional de Saúde com Laravel.

License: MIT License

PHP 100.00%

validator-docs's Introduction

Validator Docs - Brasil

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

Build Status Coverage Status PHPStan 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.

Instalação

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

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

Depois execute:

composer install

Ou simplesmente execute o comando:

composer require geekcom/validator-docs

Como usar

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 de Eleitor é 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',
        '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's People

Contributors

geekcom avatar allcontributors[bot] avatar andrergcosta avatar vicentimartins avatar omarkdev avatar mreko avatar lordantonelli avatar rafael-neris avatar thicolares avatar victorhsanjos avatar tagliatti avatar hboavent avatar maingiron avatar yvescabral avatar dependabot[bot] avatar setefocos avatar

Watchers

 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.