public function unbind($value) : Data { if (null === $value) { return Data::none(); } return $this->wrappedMapping->unbind($value); }
public function unbind($value) : Data { Assertion::isArray($value); $data = Data::none(); foreach ($value as $index => $individualValue) { $data = $data->merge($this->wrappedMapping->withPrefixAndRelativeKey($this->key, (string) $index)->unbind($individualValue)); } return $data; }
public function bind(Data $data) : self { $form = clone $this; $form->data = $data; $bindResult = $this->mapping->bind($data); if ($bindResult->isSuccess()) { $form->value = $bindResult->getValue(); } else { $form->errors = $bindResult->getFormErrorSequence(); } return $form; }
public function withMapping(string $key, MappingInterface $mapping) : self { $clone = clone $this; $clone->mappings[$key] = $mapping->withPrefixAndRelativeKey($clone->key, $key); return $clone; }