PHP

Валидируем почтовые индексы

В этом уроке мы научимся расширять стандартные вариаторы, в частности Zend_Validate_PostCode.

library/App/Validate/PostCode.php:
 	<?php
 	 
 	/**
 	 * @see Zend_Validate_PostCode
 	 */
 	require_once 'Zend/Validate/PostCode.php';
 	 
 	class App_Validate_PostCode extends Zend_Validate_PostCode
 	{
 	    public function isValid($value)
 	    {
 	        $this->_setValue($value);
 	        if (!is_string($value) && !is_int($value)) {
 	            $this->_error(self::INVALID);
 	            return false;
 	        }
 	 
 	        if ($this->getLocale() == 'en_GB') {
 	            $value = strtoupper(str_replace(' ', '', $value));
 	            $format = "/^([A-PR-UWYZ]([0-9]([0-9]|[A-HJKSTUW])?|[A-HK-Y][0-9]"
 	                . "([0-9]|[ABEHMNPRVWXY])?)[0-9][ABD-HJLNP-UW-Z]{2}|GIR0AA)$/";
 	        } else {
 	            $format = $this->getFormat();
 	        }
 	         
 	        if (!preg_match($format, $value)) {
 	            $this->_error(self::NO_MATCH);
 	            return false;
 	        }
 	 
 	        return true;
 	    }
	}

Тут на лицо превосходная работа системы загрузки плагинов в ZF. Данный код, просто перезаписывает функциональность Zend_Validate_PostCode, так что мы добились того, чего хотели.
Добавлено: 23 Августа 2013 11:57:16 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...