From 7757a00503ed4aa117b49fbd10aa24653c673297 Mon Sep 17 00:00:00 2001 From: Henrique Moody Date: Mon, 21 Sep 2015 13:27:52 -0300 Subject: [PATCH] Create "TnSubdivisionCode" rule --- .../TnSubdivisionCodeException.php | 31 +++++++++++ .../SubdivisionCode/TnSubdivisionCode.php | 53 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 library/Exceptions/SubdivisionCode/TnSubdivisionCodeException.php create mode 100644 library/Rules/SubdivisionCode/TnSubdivisionCode.php diff --git a/library/Exceptions/SubdivisionCode/TnSubdivisionCodeException.php b/library/Exceptions/SubdivisionCode/TnSubdivisionCodeException.php new file mode 100644 index 00000000..1fbe5ad7 --- /dev/null +++ b/library/Exceptions/SubdivisionCode/TnSubdivisionCodeException.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 Tunisia subdivision code. + * + * ISO 3166-1 alpha-2: TN + */ +class TnSubdivisionCodeException extends SubdivisionCodeException +{ + public static $defaultTemplates = array( + self::MODE_DEFAULT => array( + self::STANDARD => '{{name}} must be a subdivision code of Tunisia', + ), + self::MODE_NEGATIVE => array( + self::STANDARD => '{{name}} must not be a subdivision code of Tunisia', + ), + ); +} diff --git a/library/Rules/SubdivisionCode/TnSubdivisionCode.php b/library/Rules/SubdivisionCode/TnSubdivisionCode.php new file mode 100644 index 00000000..503d26bc --- /dev/null +++ b/library/Rules/SubdivisionCode/TnSubdivisionCode.php @@ -0,0 +1,53 @@ + + * + * 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 Tunisia subdivision code. + * + * ISO 3166-1 alpha-2: TN + * + * @link http://www.geonames.org/TN/administrative-division-tunisia.html + */ +class TnSubdivisionCode extends AbstractSearcher +{ + public $haystack = array( + '11', // Tunis + '12', // L'Ariana + '13', // Ben Arous + '14', // La Manouba + '21', // Nabeul + '22', // Zaghouan + '23', // Bizerte + '31', // Béja + '32', // Jendouba + '33', // Le Kef + '34', // Siliana + '41', // Kairouan + '42', // Kasserine + '43', // Sidi Bouzid + '51', // Sousse + '52', // Monastir + '53', // Mahdia + '61', // Sfax + '71', // Gafsa + '72', // Tozeur + '73', // Kebili + '81', // Gabès + '82', // Medenine + '83', // Tataouine + ); + + public $compareIdentical = true; +}