Laravel/Lumen validation rules for validate country codes (ISO3166-1)
jekk0/laravel-iso3166-validation-rules is a Laravel package for laravel/lumen validation rules for validate country codes (iso3166-1).
It currently has 2 GitHub stars and 101.450 downloads on Packagist (latest version 1.7.0).
Install it with composer require jekk0/laravel-iso3166-validation-rules.
Discover more Laravel packages by jekk0
or browse all Laravel packages to compare alternatives.
Last updated
Install the latest version with
$ 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 automatically parse error message and replace: