Author: Krapulator
Date: 2010-02-19 11:26:54 +0100 (Fri, 19 Feb 2010)
New Revision: 28137

Modified:
   
plugins/sfJqueryFormValidationPlugin/lib/sfJqueryFormValidationRules.class.php
   
plugins/sfJqueryFormValidationPlugin/modules/sfJqueryFormVal/templates/indexSuccess.php
Log:
Continued work on new, updated version.


Modified: 
plugins/sfJqueryFormValidationPlugin/lib/sfJqueryFormValidationRules.class.php
===================================================================
--- 
plugins/sfJqueryFormValidationPlugin/lib/sfJqueryFormValidationRules.class.php  
    2010-02-19 09:14:52 UTC (rev 28136)
+++ 
plugins/sfJqueryFormValidationPlugin/lib/sfJqueryFormValidationRules.class.php  
    2010-02-19 10:26:54 UTC (rev 28137)
@@ -2,7 +2,7 @@
   
   class sfJqueryFormValidationRules
   {
-    
+    private $forms = array();
        private $rules = array();
        private $messages = array();
        private $first_field_id = null;
@@ -62,12 +62,13 @@
                self::$widgets['sfValidatorDate']['keymap'] = 
array('date_format' => 'bad_format');
         self::$widgets['sfValidatorDate']['msgmap'] = array('date_format' => 
sfConfig::get('app_sf_jquery_form_validation_date_method'));
            }
-          
+           $this->forms[] = $form;
        }
        
        public function addEmbeddedForm($name, sfForm $form)
        {
                $this->processValidationRules($name, $form, true);
+               $this->forms[] = $form;
        }
        
        public function generateRules()
@@ -94,7 +95,6 @@
     
     public function processValidationRules($name, sfForm $form, $is_embedded = 
false)
     {
-       //dev::pr($form->getValidatorSchema()->getFields(), true);
        foreach($form->getValidatorSchema()->getFields() as $fieldname => 
$objField)
        {
                
@@ -279,5 +279,35 @@
         }  
         return $validation_name;
     }
+    
+    public function getPostValidators()
+    {
+       $post_validators = array();
+       foreach($this->forms as $form)
+       {
+               if($pv = $form->getValidatorSchema()->getPostValidator())
+               {
+                       $post_validators[] = $this->parseValidator($pv);
+               }
+       }
+       return sizeof($post_validators) > 0 ? $post_validators : null;
+    }
+    
+    private function parseValidator(sfValidatorBase $validator)
+    {
+       switch(get_class($validator))
+       {
+               /*
+               case 'sfValidatorSchemaCompare':
+                       return       $js = '$("#' . $name . '_' . 
$options['right_field'] . '").rules("add", {
+       equalTo: "#' . $name . '_' . $options['left_field'] . '",
+       messages: {
+         equalTo: "' . $messages['invalid'] . '"
+       }
+      });';
+               break;
+               */
+       }
+    }
        
   }
\ No newline at end of file

Modified: 
plugins/sfJqueryFormValidationPlugin/modules/sfJqueryFormVal/templates/indexSuccess.php
===================================================================
--- 
plugins/sfJqueryFormValidationPlugin/modules/sfJqueryFormVal/templates/indexSuccess.php
     2010-02-19 09:14:52 UTC (rev 28136)
+++ 
plugins/sfJqueryFormValidationPlugin/modules/sfJqueryFormVal/templates/indexSuccess.php
     2010-02-19 10:26:54 UTC (rev 28137)
@@ -21,9 +21,9 @@
   
   });
   
-  <?php //if($post_validator = 
$form->getValidatorSchema()->getPostValidator()): ?>
-      <?php //echo function_exists(get_class($post_validator) . '_process') ? 
call_user_func(get_class($post_validator) . '_process', $post_validator, $name) 
: '' ?>
-  <?php //endif ?>
+  <?php foreach($sf_jq_rules->getPostValidators() as $pv): ?>
+      <?php echo $pv ?>
+  <?php endforeach ?>
 
 });
 

-- 
You received this message because you are subscribed to the Google Groups 
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/symfony-svn?hl=en.

Reply via email to