agrodata/validator

Laravel验证器

v2.0 2023-09-13 19:01 UTC

This package is auto-updated.

Last update: 2024-09-14 13:36:04 UTC


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-99999999-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-99999.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();