示例#1
0
 public function unbind($value) : Data
 {
     if (null === $value) {
         return Data::none();
     }
     return $this->wrappedMapping->unbind($value);
 }
示例#2
0
 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;
 }
示例#3
0
 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;
 }
示例#4
0
 public function withMapping(string $key, MappingInterface $mapping) : self
 {
     $clone = clone $this;
     $clone->mappings[$key] = $mapping->withPrefixAndRelativeKey($clone->key, $key);
     return $clone;
 }