From f04b8265fd2be279b3cde63cac63fdfc875d1922 Mon Sep 17 00:00:00 2001 From: Henrique Moody Date: Mon, 21 Sep 2015 13:27:39 -0300 Subject: [PATCH] Create "RsSubdivisionCode" rule --- .../RsSubdivisionCodeException.php | 31 ++++++++++ .../SubdivisionCode/RsSubdivisionCode.php | 61 +++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 library/Exceptions/SubdivisionCode/RsSubdivisionCodeException.php create mode 100644 library/Rules/SubdivisionCode/RsSubdivisionCode.php diff --git a/library/Exceptions/SubdivisionCode/RsSubdivisionCodeException.php b/library/Exceptions/SubdivisionCode/RsSubdivisionCodeException.php new file mode 100644 index 00000000..af255554 --- /dev/null +++ b/library/Exceptions/SubdivisionCode/RsSubdivisionCodeException.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 Serbia subdivision code. + * + * ISO 3166-1 alpha-2: RS + */ +class RsSubdivisionCodeException extends SubdivisionCodeException +{ + public static $defaultTemplates = array( + self::MODE_DEFAULT => array( + self::STANDARD => '{{name}} must be a subdivision code of Serbia', + ), + self::MODE_NEGATIVE => array( + self::STANDARD => '{{name}} must not be a subdivision code of Serbia', + ), + ); +} diff --git a/library/Rules/SubdivisionCode/RsSubdivisionCode.php b/library/Rules/SubdivisionCode/RsSubdivisionCode.php new file mode 100644 index 00000000..39af7714 --- /dev/null +++ b/library/Rules/SubdivisionCode/RsSubdivisionCode.php @@ -0,0 +1,61 @@ + + * + * 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 Serbia subdivision code. + * + * ISO 3166-1 alpha-2: RS + * + * @link http://www.geonames.org/RS/administrative-division-serbia.html + */ +class RsSubdivisionCode extends AbstractSearcher +{ + public $haystack = array( + 'KM', // Kosovo + 'VO', // Vojvodina + '00', // Beograd + '01', // Severnobački okrug + '02', // Srednjebanatski okrug + '03', // Severnobanatski okrug + '04', // Južnobanatski okrug + '05', // Zapadno-Bački Okrug + '06', // Južnobački okrug + '07', // Srem + '08', // Mačvanski okrug + '09', // Kolubarski okrug + '10', // Podunavski okrug + '11', // Braničevski okrug + '12', // Šumadija + '13', // Pomoravski okrug + '14', // Borski okrug + '15', // Zaječar + '16', // Zlatibor + '17', // Moravički okrug + '18', // Raški okrug + '19', // Rasinski okrug + '20', // Nišavski okrug + '21', // Toplica + '22', // Pirotski okrug + '23', // Jablanički okrug + '24', // Pčinjski okrug + '25', // Kosovski okrug + '26', // Pećki okrug + '27', // Prizrenski okrug + '28', // Kosovsko-Mitrovački okrug + '29', // Kosovsko-Pomoravski okrug + ); + + public $compareIdentical = true; +}