/** * Render element * * @param Zend_Form_Element $element * @return string */ public function aElement(Zend_Form_Element $element) { $viewClasses = array($element->getAttrib('class')); if ($element->isRequired()) { if (!$element->getAttrib('title')) { $element->setAttrib('title', 'Field is required'); } $viewClasses[] = 'aForm-field-required'; } if ($element->getValidators()) { $viewClasses[] = 'aForm-field-validate'; } if ($element->hasErrors()) { $viewClasses[] = 'aForm-field-invalid'; } elseif ($element->getValue() || !$element->isRequired()) { $viewClasses[] = 'aForm-field-valid'; } if ($element->getValidators()) { $viewClasses[] = 'aForm-field-validate'; } $element->setAttrib('class', implode(' ', $viewClasses)); $options = null; $separator = null; if ($element instanceof Zend_Form_Element_Multi) { $options = $element->getMultiOptions(); $separator = $element->getSeparator(); } return $this->view->{$element->helper}($element->getName(), $element->getValue(), $element->getAttribs(), $options, $separator); }
/** * Generate the JavaScript code for the validation rules * @param Zend_Form_Element $element * @return string */ protected function _generateValidationRules(Zend_Form_Element $element) { $name = $element->getName(); $formName = $this->_formName; $validators = $element->getValidators(); $rules = array(); foreach ($validators as $validator) { $class = get_class($validator); $params = $this->_generateValidatorParameters($class, $validator); $rules[] = "{ name: '{$class}', parameters: {$params} }"; } if (count($rules) > 0) { $script = $this->_formNamespace . "." . $this->_formName . ".{$name} = [ " . implode(', ', $rules) . " ];\r\n"; } return $script; }