deivisfelipe / pt-br-validator-temp
一个包含巴西格式验证的库,用于Laravel
10.0
2023-03-07 17:07 UTC
Requires
- illuminate/support: ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0
Requires (Dev)
- orchestra/testbench: ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0
- phpunit/phpunit: ^8.3 || ^9.0
This package is auto-updated.
Last update: 2024-09-27 22:20:44 UTC
README
此库为Laravel添加了巴西验证,如CPF、CNPJ、车牌、CEP、电话、手机等。
🇧🇷🇧🇷🇧🇷
版本
安装
导航到您的项目文件夹,例如
cd /etc/www/projeto
然后执行
composer require laravellegends/pt-br-validator
如果您使用的是此库的5.2版本之前的版本,您需要在config/app.php中将provider添加进去
'providers' => [ // ... outros pacotes LaravelLegends\PtBrValidator\ValidatorProvider::class ]
现在,为了使用验证,只需按照Laravel的标准流程进行即可。
不同之处在于,您可以使用以下验证方法
测试PtBrValidator的验证
这样,可以执行一个简单的测试
$validator = \Validator::make( ['telefone' => '(77)9999-3333'], ['telefone' => 'required|telefone_com_ddd'] ); dd($validator->fails());
您也可以通过Illuminate\Http\Request
的实例,使用validate
方法来使用它。
查看
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()); } });
自定义消息
上述所有验证都已包含默认验证消息,但您可以使用Validator::make
的第三个参数来更改此设置。此参数应该是一个数组,其中索引是验证的名称,值是对应的消息。
例如
Validator::make($valor, $regras, ['celular_com_ddd' => 'O campo :attribute não é um celular'])
或通过您的Request实例的messages
方法,该Request是通过php artisan make:request
命令创建的。
public function messages() { return [ 'campo.telefone' => 'Telefone não válido!' ]; }
单独访问规则
如果您需要单独访问某个规则,您可以访问以下类
\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\Cns::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
\LaravelLegends\PtBrValidator\Rules\Uf::class
例如,如果您想验证一个CPF字段的格式,您可以使用以下方式使用LaravelLegends\PtBrValidator\Rules\FormatoCpf
类
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()); } });
变更日志
- 9.1.0 - 添加了
cns
(国家卫生卡)验证。 - 8.0.3 - 添加了
uf
验证。 - 8.0.2 - 添加了
cpf_ou_cnpj
验证。 - 5.2.1 - 添加了
cpf_ou_cnpj
验证。
建议
Eloquent Filter:这个库是为了创建REST API的搜索过滤器而开发的。使用这个库,您可以节省很多代码行,同时保持您的Laravel应用程序中搜索过滤器的全局标准。