geekcom/validator-docs

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

3.10.0 2024-03-07 16:18 UTC

README

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

Build Status Coverage Status PHPStan Monthly Downloads Total Downloads License

请考虑 捐赠,支持我们的活动

对于与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)

文档生成器用于测试

请随意以任何方式做出贡献。

如果有任何疑问或发现任何错误,请创建一个问题或搜索旧问题。

贡献者

欢迎任何类型的贡献!