usinatech / br-validator
Uma biblioteca de Validações Brasileiras para o Laravel
Installs: 175
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 103
Type:laravel-bundle
pkg:composer/usinatech/br-validator
Requires
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0
- phpunit/phpunit: ^8.3|^9.0
README
Biblioteca com validações para CPF, CNPJ, Telefone com DDD, Placas do Mercosul e etc.
Instalação
Navegue até a pasta do seu projeto, por exemplo:
cd /var/www/projeto
Execute:
composer require usinatech/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-9999ou9999-9999) -
celular_com_ddd- Valida se o campo está no formato ((99)99999-9999ou(99)9999-9999ou(99) 99999-9999ou(99) 9999-9999) -
cnpj- Valida se o campo é um CNPJ válido. -
cpf- Valida se o campo é um CPF válido. -
data- Valida se o campo é uma data no formatoDD/MM/YYYY*. Por exemplo:31/12/1969. -
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-999ou99.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-9999ou(99) 9999-9999). -
formato_placa_de_veiculo- Valida se o campo tem o formato válido de uma placa de veículo.
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!' ]; }