# Registrierungsformular - Validierung eines individuellen Feldes

**URL:** https://forum.shopware.com/t/registrierungsformular-validierung-eines-individuellen-feldes/63158
**Category:** Programmierung
**Created:** [25. November 2019 um 07:55 UTC](https://forum.shopware.com/t/registrierungsformular-validierung-eines-individuellen-feldes/63158 "2019-11-25T07:55:40Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Alex2a](https://avatars.discourse-cdn.com/v4/letter/a/50afbb/32.png) [@Alex2a](https://forum.shopware.com/u/Alex2a)
#### Post date: [25. November 2019 um 07:55 UTC](https://forum.shopware.com/t/registrierungsformular-validierung-eines-individuellen-feldes/63158/1 "2019-11-25T07:55:40Z")

</div>

Hallo,

derzeit habe ich ein neues Feld im Registrierungs-Formular hinzugefügt:

Da das Feld anschließend in die Straße geschrieben wird, benötige ich das oben genannte Feld nur vorrübergehend - dafür habe ich mich gegen ein Attribut entschieden.

Mein Subscriber sieht wie folgt aus:

```
/**
 * Subscribe to an event
 * @return array
 */
public static function getSubscribedEvents()
{
    return [
        'Shopware_Form_Builder' => 'onFormBuild',
    ];
}

/**
 * @param EventArgs $args
 */
public function onFormBuild(EventArgs $event)
{
    $reference = $event->get('reference');
    if ($reference !== 'address')
        return;

    /** @var FormBuilderInterface $builder */
    $builder = $event->get('builder');

    $builder->get('additional')->add('packingstation', TextType::class, [
        'constraints' => [
            new DeliveryType(),
        ],
    ]);
}

```

Weiterhin gibt es die Klasse DeliveryTypeValidator, welche später die Logik für die Validierung enthalten soll:

```
/**
 * Class ZipMatchPatternValidator
 * @package SportSparZIPValidation\Validator\Constraints
 */
class DeliveryTypeValidator extends ConstraintValidator
{
    /**
     * validation
     * @param mixed $value
     * @param Constraint $constraint
     */
    public function validate($value, Constraint $constraint)
    {
        $this->context->buildViolation($constraint->message)->addViolation();
    }
}

```

In der Methode validate sollte nun als $value eigentlich der Wert des Feldes übergeben werden, jeodoch wird dieser nie übermittelt.

```
$data = $this->context->getRoot()->getData();

```

Enthält zwar den Feldnamen packingStation, jedoch ist der Wert immer “null”.

Ersetze ich

```
$builder->get('additional')->add('packingstation', TextType::class, [
    'constraints' => [
        new DeliveryType(),
    ],
]);

```

durch:

```
$builder->add('zip', TextType::class, [
    'constraints' => [
        new DeliveryType(),
    ],
]);

```

, dann wird der Wert Korrekt an den Validator übergeben übergeben.

Laut dieser Anleitung, sollte die validierung von “additional”-Informationen jedoch kein Thema sein:&nbsp;[https://developers.shopware.com/developers-guide/address-management-guide/#extending-the-address-form](https://developers.shopware.com/developers-guide/address-management-guide/#extending-the-address-form)

Hat hier jemand einen Tip?

Viele Grüße- Alex
