agrodata / validator
Laravel验证器
v2.0
2023-09-13 19:01 UTC
Requires
- php: ^8.0
README
Agrodata Validator
本包旨在汇总Agrodata公司项目中使用的多种验证,因为在使用多个Laravel/Lumen验证库时,总是最后一个安装的验证器会覆盖前面的,需要许多配置才能正常运行。因此,我们创建了包含项目中所用验证的独立包,使其更加可行和简单。
基于包:https://github.com/LaravelLegends/pt-br-validator
规则 | 描述 | |
---|---|---|
dms | 验证坐标是否有效,并且格式如下:N 39º 36' 27,18" / W 009º 04' 21,12" | |
latitude | 验证纬度值是否有效 | |
longitude | 验证经度值是否有效 | |
celular | 验证字段是否为格式(99999-9999 或 9999-9999 ) | |
celular_com_ddd | 验证字段是否为格式((99)99999-9999 或 (99)9999-9999 或 (99) 99999-9999 或 (99) 9999-9999 ) | |
celular_com_codigo | 验证字段是否为格式 +99(99)99999-9999 或 +99(99)9999-9999。 | |
cnpj | 验证字段是否为有效的CNPJ。可以使用网站 geradorcnpj.com 生成用于测试的有效CNPJ。 | |
cpf | 验证字段是否为有效的CPF。可以使用网站 geradordecpf.org 生成用于测试的有效CPF。 | |
formato_cnpj | 验证字段是否具有正确的CNPJ掩码(99.999.999/9999-99 )。 | |
formato_cpf | 验证字段是否具有正确的CPF掩码(999.999.999-99 )。 | |
formato_cep | 验证字段是否具有正确的CEP掩码(99999-999 或 99.999-999 )。 | |
telefone | 验证字段是否具有电话掩码(9999-9999 )。 | |
telefone_com_ddd | 验证字段是否具有带区号的电话掩码((99)9999-9999 )。 | |
telefone_com_codigo | 验证字段是否具有带区号的电话掩码(+55(99)9999-9999 )。 | |
formato_placa_de_veiculo | 验证字段是否具有有效车辆牌照格式(包括MERCOSUL标准)。 | |
formato_pis | 验证字段是否具有PIS格式。 | |
pis | 验证PIS是否有效。 | |
cpf_ou_cnpj | 验证字段是否为CPF或CNPJ | |
formato_cpf_ou_cnpj | 验证字段是否包含CPF或CNPJ格式 | |
uf | 验证字段是否包含有效的州简称(UF) |
1. 安装
composer require agrodata/validator
2. 配置
Lumen框架
在文件 `bootstrap/app.php`
中注册 "Provider"。
在文件末尾 "Register Service Providers" 部分添加以下行。
$app->register(\Agrodata\Validator\ValidatorProvider::class);
Laravel
在 config\app.php
中 "providers" 部分添加以下行。
'providers' => [
\Agrodata\Validator\ValidatorProvider::class
]
*额外
*您可以(可选)发布配置文件。该文件中包含包中用于验证的所有正则表达式(regex)。在需要更改某些验证时必须使用。
php artisan vendor:publish --provider="Agrodata\Validator\ValidatorProvider" --tag="config"
3. 使用
3.1 请求
可以用于扩展 \Illuminate\Foundation\Http\FormRequest
类的文件中,通常是 \App\Http\Requests
目录下的文件。例如
...
public function rules()
{
return [
'person_doc' => ['cnpj']
]
}
...
3.2 验证器
另一种使用方法是使用 Illuminate\Support\Facades\Validator
类
$isValidCpf = !Validator::make(request()->all(), [$attribute => 'cpf'])->fails();