/laravel-swiss-canton-rule

This package provides multiple validation rules to validate swiss cantons. It's based on wnx/php-swiss-cantons.

Primary LanguagePHPMIT LicenseMIT

Laravel Swiss Canton Validation Rules

Latest Version MIT License Offset Earth

GitHub Workflow Status StyleCI Total Downloads

This package provides multiple validation rules to validate swiss cantons. It's based on wnx/php-swiss-cantons.

Installation

At first you have to add this package to your composer.json:

composer require elbgoods/laravel-swiss-canton-rule

After this you can publish the package translation files to adjust the error messages:

php artisan vendor:publish --provider="Elbgoods\SwissCantonRule\SwissCantonRuleServiceProvider" --tag=lang

Usage

General

This package provides a basic SwissCantonRule which you can use. All more specific rules only extend this rule with a predefined format.

use Elbgoods\SwissCantonRule\Rules\SwissCantonRule;

$rule = new SwissCantonRule(SwissCantonRule::FORMAT_ABBREVIATION);

By default the rule requires a value - if you want to accept null values you can use the nullable() method or set the $required parameter to false.

use Elbgoods\SwissCantonRule\Rules\SwissCantonRule;

$rule = new SwissCantonRule(SwissCantonRule::FORMAT_ABBREVIATION, null, false);
$rule->nullable();

Abbreviation

use Elbgoods\SwissCantonRule\Rules\SwissCantonAbbreviationRule;

$rule = new SwissCantonAbbreviationRule();

Zip-code

use Elbgoods\SwissCantonRule\Rules\SwissCantonZipCodeRule;

$rule = new SwissCantonZipCodeRule();

Name

The name rule has a special property - the locale. By default it's null so it allows all known canton names in all languages. But you can set a wanted locale, in this case it will validate using the given locale.

use Elbgoods\SwissCantonRule\Rules\SwissCantonNameRule;

$rule = new SwissCantonNameRule(); // all languages
$rule = new SwissCantonNameRule('de'); // german only

Because the package is based on wnx/php-swiss-cantons we only support the languages available in this package.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Versioning

This package follows semantic versioning.

Contributing

Please see CONTRIBUTING for details.

Security

Please see SECURITY for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

Treeware

You're free to use this package, but if it makes it to your production environment we would highly appreciate you buying or planting the world a tree.

It’s now common knowledge that one of the best tools to tackle the climate crisis and keep our temperatures from rising above 1.5C is to plant trees. If you contribute to my forest you’ll be creating employment for local families and restoring wildlife habitats.

You can buy trees at offset.earth/treeware

Read more about Treeware at https://treeware.earth