From 10f343df9757241820f67f342e02149653430c91 Mon Sep 17 00:00:00 2001 From: Henrique Moody Date: Mon, 21 Sep 2015 13:26:57 -0300 Subject: [PATCH] Create "FiSubdivisionCode" rule --- .../FiSubdivisionCodeException.php | 31 +++++++++++ .../SubdivisionCode/FiSubdivisionCode.php | 54 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 library/Exceptions/SubdivisionCode/FiSubdivisionCodeException.php create mode 100644 library/Rules/SubdivisionCode/FiSubdivisionCode.php diff --git a/library/Exceptions/SubdivisionCode/FiSubdivisionCodeException.php b/library/Exceptions/SubdivisionCode/FiSubdivisionCodeException.php new file mode 100644 index 00000000..9b80ecd8 --- /dev/null +++ b/library/Exceptions/SubdivisionCode/FiSubdivisionCodeException.php @@ -0,0 +1,31 @@ + + * + * For the full copyright and license information, please view the "LICENSE.md" + * file that was distributed with this source code. + */ + +namespace Respect\Validation\Exceptions\SubdivisionCode; + +use Respect\Validation\Exceptions\SubdivisionCodeException; + +/** + * Exception class for Finland subdivision code. + * + * ISO 3166-1 alpha-2: FI + */ +class FiSubdivisionCodeException extends SubdivisionCodeException +{ + public static $defaultTemplates = array( + self::MODE_DEFAULT => array( + self::STANDARD => '{{name}} must be a subdivision code of Finland', + ), + self::MODE_NEGATIVE => array( + self::STANDARD => '{{name}} must not be a subdivision code of Finland', + ), + ); +} diff --git a/library/Rules/SubdivisionCode/FiSubdivisionCode.php b/library/Rules/SubdivisionCode/FiSubdivisionCode.php new file mode 100644 index 00000000..dee9e037 --- /dev/null +++ b/library/Rules/SubdivisionCode/FiSubdivisionCode.php @@ -0,0 +1,54 @@ + + * + * For the full copyright and license information, please view the "LICENSE.md" + * file that was distributed with this source code. + */ + +namespace Respect\Validation\Rules\SubdivisionCode; + +use Respect\Validation\Rules\AbstractSearcher; + +/** + * Validator for Finland subdivision code. + * + * ISO 3166-1 alpha-2: FI + * + * @link http://www.geonames.org/FI/administrative-division-finland.html + */ +class FiSubdivisionCode extends AbstractSearcher +{ + public $haystack = array( + '01', // Ahvenanmaa [Finnish] / Åland [Swedish] + '02', // Etelä-Karjala [Finnish] / Södra Karelen [Swedish] + '03', // Etelä-Pohjanmaa [Finnish] / Södra Österbotten [Swedish] + '04', // Etelä-Savo [Finnish] / Södra Savolax [Swedish] + '05', // Kainuu [Finnish] / Kajanaland [Swedish] + '06', // Kanta-Häme [Finnish] / Egentliga Tavastland [Swedish] + '07', // Keski-Pohjanmaa [Finnish] / Mellersta Österbotten [Swedish] + '08', // Keski-Suomi [Finnish] / Mellersta Finland [Swedish] + '09', // Kymenlaakso [Finnish] / Kymmenedalen [Swedish] + '10', // Lappi [Finnish] / Lappland [Swedish] + '11', // Pirkanmaa [Finnish] / Birkaland [Swedish] + '12', // Pohjanmaa [Finnish] / Österbotten [Swedish] + '13', // Pohjois-Karjala [Finnish] / Norra Karelen [Swedish] + '14', // Pohjois-Pohjanmaa [Finnish] / Norra Österbotten [Swedish] + '15', // Pohjois-Savo [Finnish] / Norra Savolax [Swedish] + '16', // Päijät-Häme [Finnish] / Päijänne-Tavastland [Swedish] + '17', // Satakunta [Finnish and Swedish] + '18', // Uusimaa [Finnish] / Nyland [Swedish] + '19', // Varsinais-Suomi [Finnish] / Egentliga Finland [Swedish] + 'AL', // Ahvenanmaan laani + 'ES', // Etela-Suomen laani + 'IS', // Ita-Suomen laani + 'LL', // Lapin laani + 'LS', // Lansi-Suomen laani + 'OL', // Oulun laani + ); + + public $compareIdentical = true; +}