diff -r 5b37998e522e -r 162c1de6545a web/lib/Zend/Validate/Digits.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/lib/Zend/Validate/Digits.php Fri Mar 11 15:05:35 2011 +0100 @@ -0,0 +1,91 @@ + "'%value%' must contain only digits", + self::STRING_EMPTY => "'%value%' is an empty string", + self::INVALID => "Invalid type given. String, integer or float expected", + ); + + /** + * Defined by Zend_Validate_Interface + * + * Returns true if and only if $value only contains digit characters + * + * @param string $value + * @return boolean + */ + public function isValid($value) + { + if (!is_string($value) && !is_int($value) && !is_float($value)) { + $this->_error(self::INVALID); + return false; + } + + $this->_setValue((string) $value); + + if ('' === $this->_value) { + $this->_error(self::STRING_EMPTY); + return false; + } + + if (null === self::$_filter) { + require_once 'Zend/Filter/Digits.php'; + self::$_filter = new Zend_Filter_Digits(); + } + + if ($this->_value !== self::$_filter->filter($this->_value)) { + $this->_error(self::NOT_DIGITS); + return false; + } + + return true; + } +}