Просмотр исходного кода

Zend_Filter_Input: minor code readability improvement. Closes [ZF-6765].

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@15674 44c647ce-9c0f-0410-b52a-842ac1e357ba
alexander 16 лет назад
Родитель
Сommit
232bac12bc
1 измененных файлов с 29 добавлено и 25 удалено
  1. 29 25
      library/Zend/Filter/Input.php

+ 29 - 25
library/Zend/Filter/Input.php

@@ -894,33 +894,37 @@ class Zend_Filter_Input
         		$this->_invalidErrors[$validatorRule[self::RULE]] = $validatorRule[self::VALIDATOR_CHAIN]->getErrors();
         		return;
         	}
-        } else {
+        } else if (count($data) > 0) {
+        	// $data is actually a one element array
+        	$fieldNames = array_keys($data);
+        	$fieldName = reset($fieldNames);
+        	$field     = reset($data);
+
+
             $failed = false;
-            foreach ($data as $fieldKey => $field) {
-                if (!is_array($field)) {
-                    $field = array($field);
-                }
-                foreach ($field as $value) {
-                    if (empty($value)) {
-                        if ($validatorRule[self::ALLOW_EMPTY] == true) {
-                            continue;
-                        }
-                        if ($validatorRule[self::VALIDATOR_CHAIN_COUNT] == 0) {
-                            $notEmptyValidator = $this->_getValidator('NotEmpty');
-                            $notEmptyValidator->setMessage($this->_getNotEmptyMessage($validatorRule[self::RULE], $fieldKey));
-                            $validatorRule[self::VALIDATOR_CHAIN]->addValidator($notEmptyValidator);
-                        }
+            if (!is_array($field)) {
+                $field = array($field);
+            }
+            foreach ($field as $value) {
+                if (empty($value)) {
+                    if ($validatorRule[self::ALLOW_EMPTY] == true) {
+                        continue;
                     }
-                    if (!$validatorRule[self::VALIDATOR_CHAIN]->isValid($value)) {
-                        $this->_invalidMessages[$validatorRule[self::RULE]] =
-                            $validatorRule[self::VALIDATOR_CHAIN]->getMessages();
-                        $this->_invalidErrors[$validatorRule[self::RULE]] =
-                            $validatorRule[self::VALIDATOR_CHAIN]->getErrors();
-                        unset($this->_validFields[$fieldKey]);
-                        $failed = true;
-                        if ($validatorRule[self::BREAK_CHAIN]) {
-                            return;
-                        }
+                    if ($validatorRule[self::VALIDATOR_CHAIN_COUNT] == 0) {
+                        $notEmptyValidator = $this->_getValidator('NotEmpty');
+                        $notEmptyValidator->setMessage($this->_getNotEmptyMessage($validatorRule[self::RULE], $fieldName));
+                        $validatorRule[self::VALIDATOR_CHAIN]->addValidator($notEmptyValidator);
+                    }
+                }
+                if (!$validatorRule[self::VALIDATOR_CHAIN]->isValid($value)) {
+                    $this->_invalidMessages[$validatorRule[self::RULE]] =
+                        $validatorRule[self::VALIDATOR_CHAIN]->getMessages();
+                    $this->_invalidErrors[$validatorRule[self::RULE]] =
+                        $validatorRule[self::VALIDATOR_CHAIN]->getErrors();
+                    unset($this->_validFields[$fieldName]);
+                    $failed = true;
+                    if ($validatorRule[self::BREAK_CHAIN]) {
+                        return;
                     }
                 }
             }