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.