All Projects → LaravelLegends → Pt Br Validator

LaravelLegends / Pt Br Validator

Licence: mit
Uma biblioteca contendo validações de formatos Brasileiros, para o Laravel

Projects that are alternatives of or similar to Pt Br Validator

Validator
Client-side javascript validator library ports from Laravel 5.2
Stars: ✭ 35 (-86.27%)
Mutual labels:  validation, laravel
Laravel Multistep Forms
Responsable Multistep Form Builder for Laravel
Stars: ✭ 76 (-70.2%)
Mutual labels:  validation, laravel
Laravel5 Genderize Api Client
Laravel 5 client for the Genderize.io API
Stars: ✭ 47 (-81.57%)
Mutual labels:  validation, laravel
Identity Number
Validator for Swedish personal identity numbers (personnummer). For use "standalone" or with Laravel.
Stars: ✭ 17 (-93.33%)
Mutual labels:  validation, laravel
Validation
🔒 Laravel farsi/persian validation
Stars: ✭ 142 (-44.31%)
Mutual labels:  validation, laravel
Validating
Automatically validating Eloquent models for Laravel
Stars: ✭ 906 (+255.29%)
Mutual labels:  validation, laravel
Form Object
Form object to use with Vue components for sending data to a Laravel application using axios.
Stars: ✭ 73 (-71.37%)
Mutual labels:  validation, laravel
Laravel Postal Code Validation
Worldwide postal code validation for Laravel and Lumen
Stars: ✭ 278 (+9.02%)
Mutual labels:  validation, laravel
Laravel Phone
Phone number functionality for Laravel
Stars: ✭ 1,806 (+608.24%)
Mutual labels:  validation, laravel
Laravel Zip Validator
Laravel ZIP file content validator
Stars: ✭ 120 (-52.94%)
Mutual labels:  validation, laravel
Laravel Jsonapi
Basic setup framework for creating a Laravel JSON-API server
Stars: ✭ 16 (-93.73%)
Mutual labels:  validation, laravel
Validation Composite
Allows uniting of several validation rules into single one for easy re-usage
Stars: ✭ 159 (-37.65%)
Mutual labels:  validation, laravel
Laravel Validation Rules
A set of useful Laravel validation rules
Stars: ✭ 374 (+46.67%)
Mutual labels:  validation, laravel
Laravel Vue Validator
Simple package to display error in vue from laravel validation
Stars: ✭ 32 (-87.45%)
Mutual labels:  validation, laravel
Validator Docs
Validação de CPF, CNPJ, CNH, NIS, Título Eleitoral e Cartão Nacional de Saúde com Laravel.
Stars: ✭ 334 (+30.98%)
Mutual labels:  validation, laravel
Laravel Smart
Automatic Migrations, Validation and More
Stars: ✭ 48 (-81.18%)
Mutual labels:  validation, laravel
Validatorjs
A data validation library in JavaScript for the browser and Node.js, inspired by Laravel's Validator.
Stars: ✭ 1,534 (+501.57%)
Mutual labels:  validation, laravel
Credit Card
Credit Card Validation
Stars: ✭ 150 (-41.18%)
Mutual labels:  validation, laravel
Validation
The power of Respect Validation on Laravel
Stars: ✭ 188 (-26.27%)
Mutual labels:  validation, laravel
ttv
A command line tool for splitting files into test, train, and validation sets.
Stars: ✭ 38 (-85.1%)
Mutual labels:  validation

pt-br-validator: Validações brasileiras para Laravel.

Esta biblioteca adiciona validações brasileira ao Laravel, como CPF, CNPJ, Placa de Carro, CEP, Telefone, Celular e afins.

🇧🇷🇧🇷🇧🇷

Build Status

Versões

Laravel Biblioteca
4.* 4.*
5.* 5.1.*
^6.0 || ^7.0 || ^8.0 ^8.0

Instalação

Navegue até a pasta do seu projeto, por exemplo:

cd /etc/www/projeto

E então execute:

composer require laravellegends/pt-br-validator

Agora, para utilizar a validação, basta fazer o procedimento padrão do Laravel.

A diferença é que será possível usar os seguintes métodos de validação:

  • celular - Valida se o campo está no formato (99999-9999 ou 9999-9999)

  • celular_com_ddd - Valida se o campo está no formato ((99)99999-9999 ou (99)9999-9999 ou (99) 99999-9999 ou (99) 9999-9999)

  • celular_com_codigo - Valida se o campo está no formato +99(99)99999-9999 ou +99(99)9999-9999.

  • cnpj - Valida se o campo é um CNPJ válido. É possível gerar um CNPJ válido para seus testes utilizando o site geradorcnpj.com

  • cpf - Valida se o campo é um CPF válido. É possível gerar um CPF válido para seus testes utilizando o site geradordecpf.org

  • data - Valida se o campo é uma data no formato DD/MM/YYYY. Por exemplo: 31/12/1969. - Removido na versão 8.0 >=. Utilize opcionalmente dateformat:d/m/Y no Laravel.

  • formato_cnpj - Valida se o campo tem uma máscara de CNPJ correta (99.999.999/9999-99).

  • formato_cpf - Valida se o campo tem uma máscara de CPF correta (999.999.999-99).

  • formato_cep - Valida se o campo tem uma máscara de correta (99999-999 ou 99.999-999).

  • telefone - Valida se o campo tem umas máscara de telefone (9999-9999).

  • telefone_com_ddd - Valida se o campo tem umas máscara de telefone com DDD ((99)9999-9999).

  • telefone_com_codigo - Valida se o campo tem umas máscara de telefone com DDD (+55(99)9999-9999).

  • formato_placa_de_veiculo - Valida se o campo tem o formato válido de uma placa de veículo (incluindo o padrão MERCOSUL).

  • formato_pis - Valida se o campo tem o formato de PIS.

  • pis - Valida se o PIS é válido.

  • cpf_ou_cnpj - Valida se o campo é um CPF ou CNPJ

  • formato_cpf_ou_cnpj - Valida se o campo contém um formato de CPF ou CNPJ

Testando

Com isso, é possível fazer um teste simples

$validator = \Validator::make(
    ['telefone' => '(77)9999-3333'],
    ['telefone' => 'required|telefone_com_ddd']
);

dd($validator->fails());

Você pode utilizá-lo também com a instância de Illuminate\Http\Request, através do método validate.

Veja:

use Illuminate\Http\Request;

// URL: /testando?telefone=3455-1222

Route::get('testando', function (Request $request) {

    try{

        $dados = $request->validate([
            'telefone' => 'required|telefone',
            // outras validações aqui
        ]);

    } catch (\Illuminate\Validation\ValidationException $e) {
        dd($e->errors());
    }

});

Customizando as mensagens

Todas as validações citadas acima já contam mensagens padrões de validação, porém, é possível alterar isto usando o terceiro parâmetro de Validator::make. Este parâmetro deve ser um array onde os índices sejam os nomes das validações e os valores devem ser as respectivas mensagens.

Por exemplo:

Validator::make($valor, $regras, ['celular_com_ddd' => 'O campo :attribute não é um celular'])

Ou através do método messages do seu Request criado pelo comando php artisan make:request.

public function messages() {

    return [
        'campo.telefone' => 'Telefone não válido!'
    ];
}

Acessando as Regras separadamente

Caso tenha necessidade de acessar alguma regra separadamente, você poderá ter acesso as seguintes classes:

\LaravelLegends\PtBrValidator\Rules\Celular::class
\LaravelLegends\PtBrValidator\Rules\CelularComDdd::class
\LaravelLegends\PtBrValidator\Rules\CelularComCodigo::class
\LaravelLegends\PtBrValidator\Rules\Cnh::class
\LaravelLegends\PtBrValidator\Rules\Cnpj::class
\LaravelLegends\PtBrValidator\Rules\Cpf::class
\LaravelLegends\PtBrValidator\Rules\FormatoCnpj::class
\LaravelLegends\PtBrValidator\Rules\FormatoCpf::class
\LaravelLegends\PtBrValidator\Rules\Telefone::class
\LaravelLegends\PtBrValidator\Rules\TelefoneComDdd::class
\LaravelLegends\PtBrValidator\Rules\TelefoneComCodigo::class
\LaravelLegends\PtBrValidator\Rules\FormatoCep::class
\LaravelLegends\PtBrValidator\Rules\FormatoPlacaDeVeiculo::class
\LaravelLegends\PtBrValidator\Rules\FormatoPis::class
\LaravelLegends\PtBrValidator\Rules\Pis::class
\LaravelLegends\PtBrValidator\Rules\CpfOuCnpj::class
\LaravelLegends\PtBrValidator\Rules\FormatoCpfOuCnpj::class

Por exemplo, se você deseja validar o formato do campo de um CPF, você pode utilizar a classe LaravelLegends\PtBrValidator\Rules\FormatoCpf da seguinte forma:

use Illuminate\Http\Request;
use LaravelLegends\PtBrValidator\Rules\FormatoCpf;

// testando?cpf=valor_invalido

Route::get('testando', function (Request $request) {

    try{

        $dados = $request->validate([
            'cpf'  => ['required', new FormatoCpf]
            // outras validações aqui
        ]);

    } catch (\Illuminate\Validation\ValidationException $e) {
        dd($e->errors());
    }

});
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].