geekcom / validator-docs
Biblioteca PHP para validação de documentos do Brasil usando Laravel
3.10.0
2024-03-07 16:18 UTC
Requires
- php: ^7.3|^8.0
- thiagocfn/inscricaoestadual: ^1.1
Requires (Dev)
- orchestra/testbench: ^6.0
- php-coveralls/php-coveralls: ^2.5
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^8.4|^9.4
- squizlabs/php_codesniffer: *
README
Biblioteca PHP para validação de documentos do Brasil usando Laravel
请考虑 捐赠,支持我们的活动
对于与Laravel 5兼容的旧版本,请参阅分支 https://github.com/geekcom/validator-docs/tree/5.x.x
资源
- 验证任何巴西文档;
- 经过测试和可靠的代码;
- 开源;
- 由成千上万的系统使用;
- 由Laravel社区批准。
安装
在文件 composer.json
中,将 validator-docs 添加为项目依赖项
"require": {
"geekcom/validator-docs" : "^3.9"
},
然后执行
composer install
或者直接执行以下命令
composer require geekcom/validator-docs
测试
要执行测试,请按照以下步骤操作
- 安装项目依赖项;
composer install
- 执行测试。
composer test
如何使用库
现在 validator-docs Brasil 的验证方法已经可用,可以使用以下方式使用
- cpf - 验证是否为有效的CPF;
$this->validate($request, [ 'cpf' => 'required|cpf', ]);
- cnpj - 验证是否为有效的CNPJ;
$this->validate($request, [ 'cnpj' => 'required|cnpj', ]);
- cnh - 验证是否为有效的CNH(Carteira Nacional de Habilitação);
$this->validate($request, [ 'cnh' => 'required|cnh', ]);
- passaporte - 验证是否为有效的巴西护照;
$this->validate($request, [ 'passaporte' => 'required|passaporte', ]);
- titulo_eleitor - 验证是否为有效的选民证;
$this->validate($request, [ 'titulo_eleitor' => 'required|titulo_eleitor', ]);
- cpf_cnpj - 验证是否为有效的CPF或CNPJ;
$this->validate($request, [ 'cpf_cnpj' => 'required|cpf_cnpj', ]);
- inscricao_estadual - 验证是否为某个联邦单位(UF)/州的有效的注册号;
$this->validate($request, [ 'inscricao_estadual' => 'required|inscricao_estadual:UF', ]);
- nis - 验证是否为有效的PIS/PASEP/NIT/NIS;
$this->validate($request, [ 'nis' => 'required|nis', ]);
- cns - 验证是否为有效的全国健康卡(CNS);
$this->validate($request, [ 'cns' => 'required|cns', ]);
- certidao - 验证是否为有效的出生/结婚/死亡证明;
$this->validate($request, [ 'certidao' => 'required|certidao', ]);
- renavam - 验证是否为有效的机动车全国登记(RENAVAM);
$this->validate($request, [ 'renavam' => 'required|renavam', ]);
- placa - 验证车辆牌照是否有效;
$this->validate($request, [ 'placa' => 'required|placa', ]);
- ddd - 验证是否为有效的DDD号码;
$this->validate($request, [ 'ddd' => 'required|ddd', ]);
- formato_cnpj - 验证CNPJ的格式(99.999.999/9999-99)是否有效;
$this->validate($request, [ 'formato_cnpj' => 'required|formato_cnpj', ]);
- formato_cpf - 验证CPF的格式(999.999.999-99)是否有效;
$this->validate($request, [ 'formato_cpf' => 'required|formato_cpf', ]);
- formato_cpf_cnpj - 验证CPF或CNPJ的格式是否有效;
$this->validate($request, [ 'formato_cpf_cnpj' => 'required|formato_cpf_cnpj', ]);
- formato_nis - 验证PIS/PASEP/NIT/NIS的格式(999.99999-99.9)是否有效;
$this->validate($request, [ 'formato_nis' => 'required|formato_nis', ]);
- formato_certidao - 验证证书的格式(99999.99.99.9999.9.99999.999.9999999-99 或 99999 99 99 9999 9 99999 999 9999999 99),是否有效。
$this->validate($request, [ 'formato_certidao' => 'required|formato_certidao', ]);
结合验证和格式
在下面的示例中,我们进行了一个测试,验证了CPF或CNPJ的格式和有效性,对于需要将信息保存到同一属性的情况
$this->validate($request, [ 'cpf_or_cnpj' => 'formato_cpf_cnpj|cpf_cnpj', ]);
在controller中使用示例
在controller中使用的示例验证方法,包括所有可能的验证方式
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', 'passaporte' => 'required|passaporte', ]); dd($data); }
注意,为了验证州注册信息,必须提供联邦单位(UF)。
文档生成器用于测试
- 驾驶证 - http://4devs.com.br/gerador_de_cnh
- 选民证 - http://4devs.com.br/gerador_de_titulo_de_eleitor
- 企业注册号(CNPJ) - https://geradornv.com.br/gerador-cnpj/
- 个人身份证号码(CPF) - https://geradornv.com.br/gerador-cpf/
- NIS - https://www.4devs.com.br/gerador_de_pis_pasep
- 健康卡(CNS) - https://geradornv.com.br/gerador-cns/
- 证明 - https://www.4devs.com.br/gerador_numero_certidoes
- 州注册 - https://www.4devs.com.br/gerador_de_inscricao_estadual
- RENAVAM - https://www.4devs.com.br/gerador_de_renavam
- 车牌号 - https://www.4devs.com.br/gerador_de_placa_automoveis
- 巴西护照 - https://geradornv.com.br/gerador-passaporte/
请随意以任何方式做出贡献。
如果有任何疑问或发现任何错误,请创建一个问题或搜索旧问题。
贡献者
欢迎任何类型的贡献!