pijler/validator-docs 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

pijler/validator-docs

最新稳定版本:v3.3.1

Composer 安装命令:

composer require pijler/validator-docs

包简介

This package provides validations for documents in Brazil.

README 文档

README

Este pacote foi inspirado em outros dois pacotes, mas foi criado pela necessidade de uma customização melhor nas messages de validação e na validação dos formatos.

🔧 Instalação

Para fazer a instalação do pacote, rode o comando:

    composer require pijler/validator-docs

📦 Customização

Nesse pacote você pode publicar as messages de validação e customizá-las, usando o comando:

    php artisan vendor:publish --tag="docs"

Caso não queira publicar o arquivo de tradução, você poderá criar suas próprias mensagens dentro do arquivo validation.php:

    'docs' => [
        'cpf' => 'Este campo deve ser um CPF válido.',
        ...
    ],

📋 Utilização

Regras Formatos Formatação Opcional
uf Sem formato null
cep 99999-999, 99.999-999 false
cnh Sem formato null
cns Sem formato null
cpf 999.999.999-99 true
pis 999.99999.99-9 true
cnpj 99.999.999/9999-99 true
money 99.999,99, 99,999.99 false
cellphone 99999-9999, 9999-9999 false
telephone 9999-9999 false
cpf_or_cnpj 999.999.999-99, 99.999.999/9999-99 true
vehicle_plate AAA-1234, AAA-1A23 false
cellphone_with_ddd (99)99999-9999, (99)9999-9999, (99) 99999-9999, (99) 9999-9999 false
telephone_with_ddd (99)9999-9999 false
cellphone_with_code +99(99)99999-9999, +99(99)9999-9999 false
telephone_with_code +55(99)9999-9999 false

Todas as regras podem ser utilizadas a partir da Rule do próprio Laravel:

    'cpf' => [
        'required',
        'string',
        Rule::cpf(),
    ],
    'cnpj' => [
        'required',
        'string',
        Rule::cnpj()->format(),
    ],

As regras em que existe a opção de formatação, mas é opcional, podemos aplicar a formatação de três maneiras:

    'cpf' => [
        'required',
        'string',
        'cpf:format',
    ],
    'cnpj' => [
        'required',
        'string',
        Rule::cnpj()->format(),
    ],
    'cpf_or_cnpj' => [
        'required',
        'string',
        (new CPForCNPJ)->format(),
    ],

A regra para dinheiro aceita dois parâmetros, a moeda e a localicação. Utilizamos a classe de suporte Number do próprio Laravel:

    'money_1' => [
        'required',
        'string',
        'money:BRL,pt_BR', // default
    ],
    'money_2' => [
        'required',
        'string',
        Rule::money()->parameters(['USD', 'en_US']),
    ],

Caso você precise verificar o formato do dinheiro conforme alguma regra em específica, você pode setar os callbacks no seu AppServiceProvider:

    Money::setLocaleCallback(function ($default) {
        return Auth::user()?->locale ?? $default;
    });

    Money::setCurrencyCallback(function ($default) {
        return Auth::user()?->currency ?? $default;
    });

Qualquer melhoria ou correção, poderá abrir um PR ou Issue.

📝 Licença

Código aberto sob a licença MIT.

🚀 Obrigado!

统计信息

  • 总下载量: 17
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-09-17