/** * @param Form_Field $field * * @return Form_Processor */ public function addField(Form_Field $field) { $name = $field->getName(); $initalValue = Arr::get($this->initalValues, $name); $value = $this->requestMethod === Request::GET ? $this->request->query($name) : $this->request->post($name); //if (is_string($value) && !strlen($value)) $value = NULL; if ($this->isInitial() && NULL === $value) { $value = $field->isSetInitialValue() ? $field->getInitialValue() : $initalValue; } $this->fields[$name] = $field->setDefaults($this->fieldDefaults)->setInitialValue($initalValue, FALSE)->setValue($value); if ($field->getType() == Form_Field::FILE) { $this->setEncType('multipart/form-data'); } return $this; }