/** * Add * * @param Apishka_Form_FieldAbstract $field * * @return Apishka_Form_FormAbstract this */ public function addField(Apishka_Form_FieldAbstract $field) { $this->initializeFields(); $name = $field->getStructureName(); if ($this->hasField($name)) { throw new LogicException('Field ' . var_export($name, true) . ' already exists in structure'); } $this->_fields[$name] = $field->initialize($this); return $this; }
/** * Run validations * * @return mixed */ public function runValidations($value = null) { $value = parent::runValidations($value); $element_value = $this->getElement(); $element_key = $this->getElementKey(); if (!$element_key && !$element_value) { return $value; } $result = array(); foreach ($value as $key => $value) { $key = $element_key ? $element_key->runValidations($key) : $key; $result[$key] = $element_value ? $element_value->runValidations($value) : $value; } return $result; }