jp-system/validator-docs

此包为巴西文档提供验证

v2.1 2024-06-20 18:01 UTC

This package is auto-updated.

Last update: 2024-09-20 18:28:52 UTC


README

本包受其他两个包的启发,但鉴于需要更好地自定义验证信息和格式验证,因此被创建。

🔧 安装

要安装此包,请运行以下命令

    composer require jp-system/validator-docs

📦 自定义

在此包中,您可以使用以下命令发布验证信息和自定义它们

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

如果您不想发布翻译文件,您可以在 validation.php 文件中创建自己的消息

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

📋 使用

所有规则都可以从Laravel自带的 Rule 中使用

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

对于有格式化选项但不是必须的规则,我们可以以三种方式应用格式化

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

货币验证规则接受货币和位置两个参数。我们使用Laravel自带的Number类

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

如果您需要根据特定规则验证货币格式,您可以在AppServiceProvider中设置回调函数

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

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

任何改进或修正,都可以通过PR或Issue提出。

🚀 感谢!