jekk0/laravel-iso3166-validation-rules

Laravel/Lumen 用于验证国家代码(ISO3166-1)的验证规则

1.6.0 2024-04-30 11:23 UTC

This package is auto-updated.

Last update: 2024-08-30 12:14:37 UTC


README

Build Status Coverage Status Latest Stable Version Total Downloads

要求

  • Laravel/Lumen 5.8.x (版本 1.0.0)
  • Laravel/Lumen 6.0.x (版本 1.1.0)
  • Laravel/Lumen 7.0.x (版本 1.2.0)
  • Laravel/Lumen 8.0.x (版本 1.3.0)
  • Laravel/Lumen 9.0.x (版本 1.4.0)
  • Laravel/Lumen 10.0.x (版本 1.5.0)
  • Laravel/Lumen 11.0.x (版本 1.6.0)

安装

使用以下命令安装最新版本

 $ composer require jekk0/laravel-iso3166-validation-rules

快速开始。

在控制器中使用

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Jekk0\Laravel\Iso3166\Validation\Rules\Iso3166Alpha2;

class Test extends Controller
{
    public function index(Request $request)
    {
        // Request example: http://127.0.0.1:8000/t?country=us

        $rules = ['country' => ['required', new Iso3166Alpha2()]]; // ISO3166-1 Alpha2 validation rule

        try {
            $request->validate($rules);
        } catch (\Exception $exception) {
            dd('Country code is invalid: ' . $exception->getMessage());
        }

        dd('Country code is valid: ' . $request->get('country'));
    }
}

可用规则

<?php
use Jekk0\Laravel\Iso3166\Validation\Rules\Iso3166Alpha2;
use Jekk0\Laravel\Iso3166\Validation\Rules\Iso3166Alpha3;
use Jekk0\Laravel\Iso3166\Validation\Rules\Iso3166Numeric;

$rules = ['countryAlpha2' => ['required', new Iso3166Alpha2()]]; // ISO3166-1 Alpha2 validation rule
$rules = ['countryAlpha3' => ['required', new Iso3166Alpha3()]]; // ISO3166-1 Alpha3 validation rule
$rules = ['countryNumeric' => ['required', new Iso3166Numeric()]]; // ISO3166-1 Numeric validation rule

自定义错误信息

<?php
...
    public function index(Request $request)
    {
        // Request example: http://127.0.0.1:8000/t?country=INVALID_INPUT

        $iso3166Alpha2Rule = (new Iso3166Alpha2())->setErrorMessage('New Custom Error Message :attribute = :input');

        $rules = ['country' => ['required', $iso3166Alpha2Rule]]; // ISO3166-1 Alpha2 validation rule

        try {
            $request->validate($rules);
        } catch (\Exception $exception) {
            dd('Country code is invalid: ' . $exception->getMessage());
        }

        dd('Country code is valid: ' . $request->get('country'));
    }
    
    // Output
    // Country code is invalid: New Custom Error Message country = INVALID_INPUT

Laravel/Lumen 自动解析错误信息并替换

  • :attribute -> 表单参数名称
  • :input -> 表单参数值

文档