This package is abandoned and no longer maintained. No replacement package was suggested.

Laravel validation rules for swiss cantons.

1.0.0 2021-06-16 10:52 UTC

This package is auto-updated.

Last update: 2023-02-16 15:03:42 UTC


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.


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



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);


use Elbgoods\SwissCantonRule\Rules\SwissCantonAbbreviationRule;

$rule = new SwissCantonAbbreviationRule();


use Elbgoods\SwissCantonRule\Rules\SwissCantonZipCodeRule;

$rule = new SwissCantonZipCodeRule();


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.


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


This package follows semantic versioning.


Please see CONTRIBUTING for details.


Please see SECURITY for details.



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


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