Kaynağa Gözat

[ZF-8903] Zend_Form:

- giving array with only 'messages' does no longer set an empty array to attached validators

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@20535 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 yıl önce
ebeveyn
işleme
98e485ac5b
1 değiştirilmiş dosya ile 14 ekleme ve 15 silme
  1. 14 15
      library/Zend/Form/Element.php

+ 14 - 15
library/Zend/Form/Element.php

@@ -215,10 +215,10 @@ class Zend_Form_Element implements Zend_Validate_Interface
 
     /**
      * Is a specific decorator being rendered via the magic renderDecorator()?
-     * 
+     *
      * This is to allow execution of logic inside the render() methods of child
      * elements during the magic call while skipping the parent render() method.
-     * 
+     *
      * @var bool
      */
     protected $_isPartialRendering = false;
@@ -2063,15 +2063,15 @@ class Zend_Form_Element implements Zend_Validate_Interface
             throw new Zend_Form_Exception(sprintf('Validator instance already exists for validator "%s"', $origName));
         }
 
+        $messages = false;
+        if (isset($validator['options']['messages'])) {
+            $messages = $validator['options']['messages'];
+            unset($validator['options']['messages']);
+        }
+
         if (empty($validator['options'])) {
             $instance = new $name;
         } else {
-            $messages = false;
-            if (isset($validator['options']['messages'])) {
-                $messages = $validator['options']['messages'];
-                unset($validator['options']['messages']);
-            }
-
             $r = new ReflectionClass($name);
             if ($r->hasMethod('__construct')) {
                 $numeric = false;
@@ -2093,16 +2093,15 @@ class Zend_Form_Element implements Zend_Validate_Interface
             } else {
                 $instance = $r->newInstance();
             }
+        }
 
-            if ($messages) {
-                if (is_array($messages)) {
-                    $instance->setMessages($messages);
-                } elseif (is_string($messages)) {
-                    $instance->setMessage($messages);
-                }
+        if ($messages) {
+            if (is_array($messages)) {
+                $instance->setMessages($messages);
+            } elseif (is_string($messages)) {
+                $instance->setMessage($messages);
             }
         }
-
         $instance->zfBreakChainOnFailure = $validator['breakChainOnFailure'];
 
         if ($origName != $name) {