From 130772ca57ddb6fc911193cdabd6885328d59fcd Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Mon, 8 Aug 2011 10:35:28 -0500 Subject: [PATCH] Fix bug in size validation when using a string containing all numbers. --- system/validator.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/system/validator.php b/system/validator.php index 806b6690..6be8771a 100644 --- a/system/validator.php +++ b/system/validator.php @@ -250,7 +250,10 @@ class Validator { */ protected function get_size($attribute) { - if (is_numeric($this->attributes[$attribute])) return $this->attributes[$attribute]; + if (is_numeric($this->attributes[$attribute]) and $this->has_rule($attribute, array('integer', 'numeric'))) + { + return $this->attributes[$attribute]; + } return (array_key_exists($attribute, $_FILES)) ? $this->attributes[$attribute]['size'] / 1024 : Str::length(trim($this->attributes[$attribute])); } @@ -420,7 +423,7 @@ class Validator { // For "size" rules that are validating strings or files, we need to adjust // the default error message for the appropriate type. - if (in_array($rule, $this->size_rules) and ! is_numeric($this->attributes[$attribute])) + if (in_array($rule, $this->size_rules) and ! $this->has_rule($attribute, array('numeric', 'integer'))) { return (array_key_exists($attribute, $_FILES)) ? rtrim($message, '.').' '.Lang::line('validation.kilobytes')->get($this->language).'.'