public function getJavaScripts() { return array('/js/FLoginForm.js'); $url_params = sfJqueryFormValidationRules::getUrlParams(); $url_params['form'] = get_class($this); return array_merge(parent::getJavaScripts(), array(url_for($url_params))); }
public function execute($filterChain) { $filterChain->execute(); $action = $this->getContext()->getActionStack()->getLastEntry()->getActionInstance(); foreach ($action->getVarHolder()->getAll() as $name => $value) { if ($value instanceof sfForm && (sfConfig::get('app_sf_jquery_form_validation_default') !== 'disabled' || in_array(get_class($value), sfConfig::get('app_sf_jquery_form_validation_forms')))) { $url_params = sfJqueryFormValidationRules::getUrlParams(); $url_params['form'] = get_class($value); $embedded_forms = array(); foreach ($value->getEmbeddedForms() as $name => $embedded_form) { $url_params['embedded_form'][$name] = get_class($embedded_form); } if (sizeof($embedded_forms) > 0) { $url_params['embedded_form'] = $embedded_forms; } use_dynamic_javascript(url_for($url_params)); } } }
private function parsePostValidator(sfForm $form, sfValidatorBase $validator) { $options = $validator->getOptions(); $messages = $validator->getMessages(); $rules = array(); $formName = $form->getName(); $validatorName = get_class($validator); switch($validatorName) { case 'sfValidatorAnd': $return = array(); foreach ($validator->getValidators() as $v) { $return = array_merge($return, (array)$this->parsePostValidator($form, $v)); } return $return; case 'sfValidatorDoctrineUnique': case 'sfValidatorPropelUnique': $return = array(); foreach ($options['column'] as $column) { extract(sfJqueryFormValidationRules::getUrlParams()); $rules['remote'] = sfContext::getInstance()->getController()->genUrl( "{$module}/remote?form=" . get_class($form) . "&validator={$validatorName}"); $rules['messages'] = array( 'remote' => $messages['invalid'], ); $return[] = "$('#{$formName}_{$column}').rules('add', " . json_encode($rules) . ");"; } return $return; case 'sfValidatorSchemaCompare': if($options['operator'] == '==' || $options['operator'] == '===') { $rules['equalTo'] = "#{$formName}_{$options['left_field']}"; $rules['messages'] = array( 'equalTo' => $messages['invalid'], ); return "$('#{$formName}_{$options['right_field']}').rules('add', " . json_encode($rules) . ");"; } break; } }